From f87073fcefb4b820d1fd9e9bb6724dad47e497d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Fri, 6 Mar 2026 18:12:44 +0000 Subject: [PATCH] Get rid of the fastmcp schema workarounds (#457) * Get rid of the fastmcp schema workarounds * tweak * update lock --- entry | 12871 ++++++++++++++++++++--------------------------- mcp/output.ts | 15 +- mcp/shared.ts | 40 +- package.json | 6 +- pnpm-lock.yaml | 705 ++- post | 74 +- 6 files changed, 6037 insertions(+), 7674 deletions(-) diff --git a/entry b/entry index 002a19b..63d14ce 100755 --- a/entry +++ b/entry @@ -235,7 +235,7 @@ var require_file_command = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; var crypto2 = __importStar(__require("crypto")); - var fs3 = __importStar(__require("fs")); + var fs4 = __importStar(__require("fs")); var os2 = __importStar(__require("os")); var utils_1 = require_utils(); function issueFileCommand(command, message) { @@ -243,10 +243,10 @@ var require_file_command = __commonJS({ if (!filePath) { throw new Error(`Unable to find environment variable for file command ${command}`); } - if (!fs3.existsSync(filePath)) { + if (!fs4.existsSync(filePath)) { throw new Error(`Missing file at path: ${filePath}`); } - fs3.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os2.EOL}`, { + fs4.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os2.EOL}`, { encoding: "utf8" }); } @@ -355,7 +355,7 @@ var require_tunnel = __commonJS({ var net = __require("net"); var tls = __require("tls"); var http2 = __require("http"); - var https = __require("https"); + var https2 = __require("https"); var events = __require("events"); var assert3 = __require("assert"); var util2 = __require("util"); @@ -377,12 +377,12 @@ var require_tunnel = __commonJS({ } function httpOverHttps(options) { var agent2 = new TunnelingAgent(options); - agent2.request = https.request; + agent2.request = https2.request; return agent2; } function httpsOverHttps(options) { var agent2 = new TunnelingAgent(options); - agent2.request = https.request; + agent2.request = https2.request; agent2.createSocket = createSecureSocket; agent2.defaultPort = 443; return agent2; @@ -1963,10 +1963,10 @@ var require_Dicer = __commonJS({ var require_decodeText = __commonJS({ "node_modules/.pnpm/@fastify+busboy@2.1.1/node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module) { "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); + var utf8Decoder2 = new TextDecoder("utf-8"); var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] + ["utf-8", utf8Decoder2], + ["utf8", utf8Decoder2] ]); function getDecoder(charset) { let lc; @@ -2560,8 +2560,8 @@ var require_parseParams = __commonJS({ "%fF": "\xFF", "%FF": "\xFF" }; - function encodedReplacer(match2) { - return EncodedLookup[match2]; + function encodedReplacer(match3) { + return EncodedLookup[match3]; } var STATE_KEY = 0; var STATE_VALUE = 1; @@ -5970,8 +5970,8 @@ var require_request = __commonJS({ } return request2; } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); + static [kHTTP2CopyHeaders](raw2) { + const rawHeaders = raw2.split("\r\n"); const headers = {}; for (const header of rawHeaders) { const [key, value2] = header.split(": "); @@ -6468,114 +6468,114 @@ var require_constants3 = __commonJS({ LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports.METHODS || (exports.METHODS = {})); + var METHODS2; + (function(METHODS3) { + METHODS3[METHODS3["DELETE"] = 0] = "DELETE"; + METHODS3[METHODS3["GET"] = 1] = "GET"; + METHODS3[METHODS3["HEAD"] = 2] = "HEAD"; + METHODS3[METHODS3["POST"] = 3] = "POST"; + METHODS3[METHODS3["PUT"] = 4] = "PUT"; + METHODS3[METHODS3["CONNECT"] = 5] = "CONNECT"; + METHODS3[METHODS3["OPTIONS"] = 6] = "OPTIONS"; + METHODS3[METHODS3["TRACE"] = 7] = "TRACE"; + METHODS3[METHODS3["COPY"] = 8] = "COPY"; + METHODS3[METHODS3["LOCK"] = 9] = "LOCK"; + METHODS3[METHODS3["MKCOL"] = 10] = "MKCOL"; + METHODS3[METHODS3["MOVE"] = 11] = "MOVE"; + METHODS3[METHODS3["PROPFIND"] = 12] = "PROPFIND"; + METHODS3[METHODS3["PROPPATCH"] = 13] = "PROPPATCH"; + METHODS3[METHODS3["SEARCH"] = 14] = "SEARCH"; + METHODS3[METHODS3["UNLOCK"] = 15] = "UNLOCK"; + METHODS3[METHODS3["BIND"] = 16] = "BIND"; + METHODS3[METHODS3["REBIND"] = 17] = "REBIND"; + METHODS3[METHODS3["UNBIND"] = 18] = "UNBIND"; + METHODS3[METHODS3["ACL"] = 19] = "ACL"; + METHODS3[METHODS3["REPORT"] = 20] = "REPORT"; + METHODS3[METHODS3["MKACTIVITY"] = 21] = "MKACTIVITY"; + METHODS3[METHODS3["CHECKOUT"] = 22] = "CHECKOUT"; + METHODS3[METHODS3["MERGE"] = 23] = "MERGE"; + METHODS3[METHODS3["M-SEARCH"] = 24] = "M-SEARCH"; + METHODS3[METHODS3["NOTIFY"] = 25] = "NOTIFY"; + METHODS3[METHODS3["SUBSCRIBE"] = 26] = "SUBSCRIBE"; + METHODS3[METHODS3["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; + METHODS3[METHODS3["PATCH"] = 28] = "PATCH"; + METHODS3[METHODS3["PURGE"] = 29] = "PURGE"; + METHODS3[METHODS3["MKCALENDAR"] = 30] = "MKCALENDAR"; + METHODS3[METHODS3["LINK"] = 31] = "LINK"; + METHODS3[METHODS3["UNLINK"] = 32] = "UNLINK"; + METHODS3[METHODS3["SOURCE"] = 33] = "SOURCE"; + METHODS3[METHODS3["PRI"] = 34] = "PRI"; + METHODS3[METHODS3["DESCRIBE"] = 35] = "DESCRIBE"; + METHODS3[METHODS3["ANNOUNCE"] = 36] = "ANNOUNCE"; + METHODS3[METHODS3["SETUP"] = 37] = "SETUP"; + METHODS3[METHODS3["PLAY"] = 38] = "PLAY"; + METHODS3[METHODS3["PAUSE"] = 39] = "PAUSE"; + METHODS3[METHODS3["TEARDOWN"] = 40] = "TEARDOWN"; + METHODS3[METHODS3["GET_PARAMETER"] = 41] = "GET_PARAMETER"; + METHODS3[METHODS3["SET_PARAMETER"] = 42] = "SET_PARAMETER"; + METHODS3[METHODS3["REDIRECT"] = 43] = "REDIRECT"; + METHODS3[METHODS3["RECORD"] = 44] = "RECORD"; + METHODS3[METHODS3["FLUSH"] = 45] = "FLUSH"; + })(METHODS2 = exports.METHODS || (exports.METHODS = {})); exports.METHODS_HTTP = [ - METHODS.DELETE, - METHODS.GET, - METHODS.HEAD, - METHODS.POST, - METHODS.PUT, - METHODS.CONNECT, - METHODS.OPTIONS, - METHODS.TRACE, - METHODS.COPY, - METHODS.LOCK, - METHODS.MKCOL, - METHODS.MOVE, - METHODS.PROPFIND, - METHODS.PROPPATCH, - METHODS.SEARCH, - METHODS.UNLOCK, - METHODS.BIND, - METHODS.REBIND, - METHODS.UNBIND, - METHODS.ACL, - METHODS.REPORT, - METHODS.MKACTIVITY, - METHODS.CHECKOUT, - METHODS.MERGE, - METHODS["M-SEARCH"], - METHODS.NOTIFY, - METHODS.SUBSCRIBE, - METHODS.UNSUBSCRIBE, - METHODS.PATCH, - METHODS.PURGE, - METHODS.MKCALENDAR, - METHODS.LINK, - METHODS.UNLINK, - METHODS.PRI, + METHODS2.DELETE, + METHODS2.GET, + METHODS2.HEAD, + METHODS2.POST, + METHODS2.PUT, + METHODS2.CONNECT, + METHODS2.OPTIONS, + METHODS2.TRACE, + METHODS2.COPY, + METHODS2.LOCK, + METHODS2.MKCOL, + METHODS2.MOVE, + METHODS2.PROPFIND, + METHODS2.PROPPATCH, + METHODS2.SEARCH, + METHODS2.UNLOCK, + METHODS2.BIND, + METHODS2.REBIND, + METHODS2.UNBIND, + METHODS2.ACL, + METHODS2.REPORT, + METHODS2.MKACTIVITY, + METHODS2.CHECKOUT, + METHODS2.MERGE, + METHODS2["M-SEARCH"], + METHODS2.NOTIFY, + METHODS2.SUBSCRIBE, + METHODS2.UNSUBSCRIBE, + METHODS2.PATCH, + METHODS2.PURGE, + METHODS2.MKCALENDAR, + METHODS2.LINK, + METHODS2.UNLINK, + METHODS2.PRI, // TODO(indutny): should we allow it with HTTP? - METHODS.SOURCE + METHODS2.SOURCE ]; exports.METHODS_ICE = [ - METHODS.SOURCE + METHODS2.SOURCE ]; exports.METHODS_RTSP = [ - METHODS.OPTIONS, - METHODS.DESCRIBE, - METHODS.ANNOUNCE, - METHODS.SETUP, - METHODS.PLAY, - METHODS.PAUSE, - METHODS.TEARDOWN, - METHODS.GET_PARAMETER, - METHODS.SET_PARAMETER, - METHODS.REDIRECT, - METHODS.RECORD, - METHODS.FLUSH, + METHODS2.OPTIONS, + METHODS2.DESCRIBE, + METHODS2.ANNOUNCE, + METHODS2.SETUP, + METHODS2.PLAY, + METHODS2.PAUSE, + METHODS2.TEARDOWN, + METHODS2.GET_PARAMETER, + METHODS2.SET_PARAMETER, + METHODS2.REDIRECT, + METHODS2.RECORD, + METHODS2.FLUSH, // For AirPlay - METHODS.GET, - METHODS.POST + METHODS2.GET, + METHODS2.POST ]; - exports.METHOD_MAP = utils_1.enumToMap(METHODS); + exports.METHOD_MAP = utils_1.enumToMap(METHODS2); exports.H_METHOD_MAP = {}; Object.keys(exports.METHOD_MAP).forEach((key) => { if (/^H/.test(key)) { @@ -10378,15 +10378,15 @@ var require_mock_utils = __commonJS({ isPromise } } = __require("util"); - function matchValue(match2, value2) { - if (typeof match2 === "string") { - return match2 === value2; + function matchValue(match3, value2) { + if (typeof match3 === "string") { + return match3 === value2; } - if (match2 instanceof RegExp) { - return match2.test(value2); + if (match3 instanceof RegExp) { + return match3.test(value2); } - if (typeof match2 === "function") { - return match2(value2) === true; + if (typeof match3 === "function") { + return match3(value2) === true; } return false; } @@ -10804,7 +10804,7 @@ var require_mock_interceptor = __commonJS({ var require_mock_client = __commonJS({ "node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-client.js"(exports, module) { "use strict"; - var { promisify } = __require("util"); + var { promisify: promisify2 } = __require("util"); var Client2 = require_client(); var { buildMockDispatch } = require_mock_utils(); var { @@ -10844,7 +10844,7 @@ var require_mock_client = __commonJS({ return new MockInterceptor(opts, this[kDispatches]); } async [kClose]() { - await promisify(this[kOriginalClose])(); + await promisify2(this[kOriginalClose])(); this[kConnected] = 0; this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); } @@ -10857,7 +10857,7 @@ var require_mock_client = __commonJS({ var require_mock_pool = __commonJS({ "node_modules/.pnpm/undici@5.29.0/node_modules/undici/lib/mock/mock-pool.js"(exports, module) { "use strict"; - var { promisify } = __require("util"); + var { promisify: promisify2 } = __require("util"); var Pool = require_pool(); var { buildMockDispatch } = require_mock_utils(); var { @@ -10897,7 +10897,7 @@ var require_mock_pool = __commonJS({ return new MockInterceptor(opts, this[kDispatches]); } async [kClose]() { - await promisify(this[kOriginalClose])(); + await promisify2(this[kOriginalClose])(); this[kConnected] = 0; this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); } @@ -17403,7 +17403,7 @@ var require_lib = __commonJS({ Object.defineProperty(exports, "__esModule", { value: true }); exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; var http2 = __importStar(__require("http")); - var https = __importStar(__require("https")); + var https2 = __importStar(__require("https")); var pm = __importStar(require_proxy()); var tunnel = __importStar(require_tunnel2()); var undici_1 = require_undici(); @@ -17794,7 +17794,7 @@ var require_lib = __commonJS({ const info2 = {}; info2.parsedUrl = requestUrl; const usingSsl = info2.parsedUrl.protocol === "https:"; - info2.httpModule = usingSsl ? https : http2; + info2.httpModule = usingSsl ? https2 : http2; const defaultPort = usingSsl ? 443 : 80; info2.options = {}; info2.options.host = info2.parsedUrl.hostname; @@ -17864,7 +17864,7 @@ var require_lib = __commonJS({ } if (!agent2) { const options = { keepAlive: this._keepAlive, maxSockets }; - agent2 = usingSsl ? new https.Agent(options) : new http2.Agent(options); + agent2 = usingSsl ? new https2.Agent(options) : new http2.Agent(options); this._agent = agent2; } if (usingSsl && this._ignoreSslError) { @@ -18563,12 +18563,12 @@ var require_io_util = __commonJS({ var _a2; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; - var fs3 = __importStar(__require("fs")); + var fs4 = __importStar(__require("fs")); var path3 = __importStar(__require("path")); - _a2 = fs3.promises, exports.chmod = _a2.chmod, exports.copyFile = _a2.copyFile, exports.lstat = _a2.lstat, exports.mkdir = _a2.mkdir, exports.open = _a2.open, exports.readdir = _a2.readdir, exports.readlink = _a2.readlink, exports.rename = _a2.rename, exports.rm = _a2.rm, exports.rmdir = _a2.rmdir, exports.stat = _a2.stat, exports.symlink = _a2.symlink, exports.unlink = _a2.unlink; + _a2 = fs4.promises, exports.chmod = _a2.chmod, exports.copyFile = _a2.copyFile, exports.lstat = _a2.lstat, exports.mkdir = _a2.mkdir, exports.open = _a2.open, exports.readdir = _a2.readdir, exports.readlink = _a2.readlink, exports.rename = _a2.rename, exports.rm = _a2.rm, exports.rmdir = _a2.rmdir, exports.stat = _a2.stat, exports.symlink = _a2.symlink, exports.unlink = _a2.unlink; exports.IS_WINDOWS = process.platform === "win32"; exports.UV_FS_O_EXLOCK = 268435456; - exports.READONLY = fs3.constants.O_RDONLY; + exports.READONLY = fs4.constants.O_RDONLY; function exists(fsPath) { return __awaiter(this, void 0, void 0, function* () { try { @@ -19866,10 +19866,10 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.js var util, objectUtil, ZodParsedType, getParsedType; var init_util = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.js"() { (function(util2) { util2.assertEqual = (_) => { }; @@ -20003,10 +20003,10 @@ var init_util = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.js var ZodIssueCode, ZodError; var init_ZodError = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.js"() { init_util(); ZodIssueCode = util.arrayToEnum([ "invalid_type", @@ -20123,10 +20123,10 @@ var init_ZodError = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/locales/en.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.js var errorMap, en_default; var init_en = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/locales/en.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.js"() { init_ZodError(); init_util(); errorMap = (issue3, _ctx) => { @@ -20233,19 +20233,19 @@ var init_en = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/errors.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.js function getErrorMap() { return overrideErrorMap; } var overrideErrorMap; var init_errors = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/errors.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.js"() { init_en(); overrideErrorMap = en_default; } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.js function addIssueToContext(ctx, issueData) { const overrideMap = getErrorMap(); const issue3 = makeIssue({ @@ -20267,7 +20267,7 @@ function addIssueToContext(ctx, issueData) { } var makeIssue, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync; var init_parseUtil = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.js"() { init_errors(); init_en(); makeIssue = (params) => { @@ -20361,16 +20361,16 @@ var init_parseUtil = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.js var init_typeAliases = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.js"() { } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.js var errorUtil; var init_errorUtil = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.js"() { (function(errorUtil2) { errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {}; errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message; @@ -20378,7 +20378,7 @@ var init_errorUtil = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.js function processCreateParams(params) { if (!params) return {}; @@ -20545,7 +20545,7 @@ function createZodEnum(values, params) { } var ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, BRAND, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType; var init_types = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.js"() { init_ZodError(); init_errors(); init_errorUtil(); @@ -23790,9 +23790,9 @@ var init_types = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.js var init_external = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/external.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.js"() { init_errors(); init_parseUtil(); init_typeAliases(); @@ -23802,15 +23802,15 @@ var init_external = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/index.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.js var init_v3 = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/index.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.js"() { init_external(); init_external(); } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js // @__NO_SIDE_EFFECTS__ function $constructor(name, initializer4, params) { function init(inst, def) { @@ -23870,7 +23870,7 @@ function config(newConfig) { } var NEVER, $brand, $ZodAsyncError, $ZodEncodeError, globalConfig; var init_core = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js"() { NEVER = Object.freeze({ status: "aborted" }); @@ -23890,7 +23890,7 @@ var init_core = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.js var util_exports = {}; __export(util_exports, { BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES, @@ -24008,9 +24008,9 @@ function floatSafeRemainder2(val, step) { const stepString = step.toString(); let stepDecCount = (stepString.split(".")[1] || "").length; if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) { - const match2 = stepString.match(/\d?e-(\d?)/); - if (match2?.[1]) { - stepDecCount = Number.parseInt(match2[1]); + const match3 = stepString.match(/\d?e-(\d?)/); + if (match3?.[1]) { + stepDecCount = Number.parseInt(match3[1]); } } const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount; @@ -24494,7 +24494,7 @@ function uint8ArrayToHex(bytes) { } var EVALUATING, captureStackTrace, allowsEval, getParsedType2, propertyKeyTypes, primitiveTypes, NUMBER_FORMAT_RANGES, BIGINT_FORMAT_RANGES, Class; var init_util2 = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.js"() { EVALUATING = Symbol("evaluating"); captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { }; @@ -24574,7 +24574,7 @@ var init_util2 = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.js function flattenError(error49, mapper = (issue3) => issue3.message) { const fieldErrors = {}; const formErrors = []; @@ -24693,7 +24693,7 @@ function prettifyError(error49) { } var initializer, $ZodError, $ZodRealError; var init_errors2 = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.js"() { init_core(); init_util2(); initializer = (inst, def) => { @@ -24717,10 +24717,10 @@ var init_errors2 = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.js var _parse, parse, _parseAsync, parseAsync, _safeParse, safeParse, _safeParseAsync, safeParseAsync, _encode, encode, _decode, decode, _encodeAsync, encodeAsync, _decodeAsync, decodeAsync, _safeEncode, safeEncode, _safeDecode, safeDecode, _safeEncodeAsync, safeEncodeAsync, _safeDecodeAsync, safeDecodeAsync; var init_parse = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/parse.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.js"() { init_core(); init_errors2(); init_util2(); @@ -24813,7 +24813,7 @@ var init_parse = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.js var regexes_exports = {}; __export(regexes_exports, { base64: () => base64, @@ -24904,7 +24904,7 @@ function fixedBase64url(length) { } var cuid, cuid2, ulid, xid, ksuid, nanoid, duration, extendedDuration, guid, uuid, uuid4, uuid6, uuid7, email, html5Email, rfc5322Email, unicodeEmail, idnEmail, browserEmail, _emoji, ipv4, ipv6, mac, cidrv4, cidrv6, base64, base64url, hostname, domain, e164, dateSource, date, string, bigint, integer, number, boolean, _null, _undefined, lowercase, uppercase, hex, md5_hex, md5_base64, md5_base64url, sha1_hex, sha1_base64, sha1_base64url, sha256_hex, sha256_base64, sha256_base64url, sha384_hex, sha384_base64, sha384_base64url, sha512_hex, sha512_base64, sha512_base64url; var init_regexes = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/regexes.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.js"() { init_util2(); cuid = /^[cC][^\s-]{8,}$/; cuid2 = /^[0-9a-z]+$/; @@ -24976,7 +24976,7 @@ var init_regexes = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.js function handleCheckPropertyResult(result, payload, property) { if (result.issues.length) { payload.issues.push(...prefixIssues(property, result.issues)); @@ -24984,7 +24984,7 @@ function handleCheckPropertyResult(result, payload, property) { } var $ZodCheck, numericOriginMap, $ZodCheckLessThan, $ZodCheckGreaterThan, $ZodCheckMultipleOf, $ZodCheckNumberFormat, $ZodCheckBigIntFormat, $ZodCheckMaxSize, $ZodCheckMinSize, $ZodCheckSizeEquals, $ZodCheckMaxLength, $ZodCheckMinLength, $ZodCheckLengthEquals, $ZodCheckStringFormat, $ZodCheckRegex, $ZodCheckLowerCase, $ZodCheckUpperCase, $ZodCheckIncludes, $ZodCheckStartsWith, $ZodCheckEndsWith, $ZodCheckProperty, $ZodCheckMimeType, $ZodCheckOverwrite; var init_checks = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.js"() { init_core(); init_regexes(); init_util2(); @@ -25532,10 +25532,10 @@ var init_checks = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.js var Doc; var init_doc = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/doc.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.js"() { Doc = class { constructor(args2 = []) { this.content = []; @@ -25573,19 +25573,19 @@ var init_doc = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.js var version; var init_versions = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.js"() { version = { major: 4, minor: 3, - patch: 5 + patch: 6 }; } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js function isValidBase64(data) { if (data === "") return true; @@ -25945,7 +25945,7 @@ function handleRefineResult(result, payload, input, inst) { } var $ZodType, $ZodString, $ZodStringFormat, $ZodGUID, $ZodUUID, $ZodEmail, $ZodURL, $ZodEmoji, $ZodNanoID, $ZodCUID, $ZodCUID2, $ZodULID, $ZodXID, $ZodKSUID, $ZodISODateTime, $ZodISODate, $ZodISOTime, $ZodISODuration, $ZodIPv4, $ZodIPv6, $ZodMAC, $ZodCIDRv4, $ZodCIDRv6, $ZodBase64, $ZodBase64URL, $ZodE164, $ZodJWT, $ZodCustomStringFormat, $ZodNumber, $ZodNumberFormat, $ZodBoolean, $ZodBigInt, $ZodBigIntFormat, $ZodSymbol, $ZodUndefined, $ZodNull, $ZodAny, $ZodUnknown, $ZodNever, $ZodVoid, $ZodDate, $ZodArray, $ZodObject, $ZodObjectJIT, $ZodUnion, $ZodXor, $ZodDiscriminatedUnion, $ZodIntersection, $ZodTuple, $ZodRecord, $ZodMap, $ZodSet, $ZodEnum, $ZodLiteral, $ZodFile, $ZodTransform, $ZodOptional, $ZodExactOptional, $ZodNullable, $ZodDefault, $ZodPrefault, $ZodNonOptional, $ZodSuccess, $ZodCatch, $ZodNaN, $ZodPipe, $ZodCodec, $ZodReadonly, $ZodTemplateLiteral, $ZodFunction, $ZodPromise, $ZodLazy, $ZodCustom; var init_schemas = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.js"() { init_checks(); init_core(); init_doc(); @@ -26998,7 +26998,7 @@ var init_schemas = __esm({ if (keyResult instanceof Promise) { throw new Error("Async schemas not supported in object keys currently"); } - const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length && keyResult.issues.some((iss) => iss.code === "invalid_type" && iss.expected === "number"); + const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length; if (checkNumericKey) { const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx); if (retryResult instanceof Promise) { @@ -27569,7 +27569,7 @@ var init_schemas = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ar.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.js function ar_default() { return { localeError: error() @@ -27577,7 +27577,7 @@ function ar_default() { } var error; var init_ar = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ar.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.js"() { init_util2(); error = () => { const Sizable = { @@ -27682,7 +27682,7 @@ var init_ar = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/az.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.js function az_default() { return { localeError: error2() @@ -27690,7 +27690,7 @@ function az_default() { } var error2; var init_az = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/az.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.js"() { init_util2(); error2 = () => { const Sizable = { @@ -27794,7 +27794,7 @@ var init_az = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/be.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.js function getBelarusianPlural(count, one, few, many) { const absCount = Math.abs(count); const lastDigit = absCount % 10; @@ -27817,7 +27817,7 @@ function be_default() { } var error3; var init_be = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/be.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.js"() { init_util2(); error3 = () => { const Sizable = { @@ -27957,7 +27957,7 @@ var init_be = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/bg.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.js function bg_default() { return { localeError: error4() @@ -27965,7 +27965,7 @@ function bg_default() { } var error4; var init_bg = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/bg.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.js"() { init_util2(); error4 = () => { const Sizable = { @@ -28084,7 +28084,7 @@ var init_bg = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ca.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.js function ca_default() { return { localeError: error5() @@ -28092,7 +28092,7 @@ function ca_default() { } var error5; var init_ca = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ca.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.js"() { init_util2(); error5 = () => { const Sizable = { @@ -28199,7 +28199,7 @@ var init_ca = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/cs.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.js function cs_default() { return { localeError: error6() @@ -28207,7 +28207,7 @@ function cs_default() { } var error6; var init_cs = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/cs.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.js"() { init_util2(); error6 = () => { const Sizable = { @@ -28317,7 +28317,7 @@ var init_cs = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/da.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.js function da_default() { return { localeError: error7() @@ -28325,7 +28325,7 @@ function da_default() { } var error7; var init_da = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/da.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.js"() { init_util2(); error7 = () => { const Sizable = { @@ -28439,7 +28439,7 @@ var init_da = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/de.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.js function de_default() { return { localeError: error8() @@ -28447,7 +28447,7 @@ function de_default() { } var error8; var init_de = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/de.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.js"() { init_util2(); error8 = () => { const Sizable = { @@ -28554,7 +28554,7 @@ var init_de = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/en.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.js function en_default2() { return { localeError: error9() @@ -28562,7 +28562,7 @@ function en_default2() { } var error9; var init_en2 = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/en.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.js"() { init_util2(); error9 = () => { const Sizable = { @@ -28669,7 +28669,7 @@ var init_en2 = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/eo.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.js function eo_default() { return { localeError: error10() @@ -28677,7 +28677,7 @@ function eo_default() { } var error10; var init_eo = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/eo.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.js"() { init_util2(); error10 = () => { const Sizable = { @@ -28785,7 +28785,7 @@ var init_eo = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/es.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.js function es_default() { return { localeError: error11() @@ -28793,7 +28793,7 @@ function es_default() { } var error11; var init_es = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/es.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.js"() { init_util2(); error11 = () => { const Sizable = { @@ -28924,7 +28924,7 @@ var init_es = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fa.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.js function fa_default() { return { localeError: error12() @@ -28932,7 +28932,7 @@ function fa_default() { } var error12; var init_fa = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fa.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.js"() { init_util2(); error12 = () => { const Sizable = { @@ -29045,7 +29045,7 @@ var init_fa = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fi.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.js function fi_default() { return { localeError: error13() @@ -29053,7 +29053,7 @@ function fi_default() { } var error13; var init_fi = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fi.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.js"() { init_util2(); error13 = () => { const Sizable = { @@ -29164,7 +29164,7 @@ var init_fi = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fr.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.js function fr_default() { return { localeError: error14() @@ -29172,7 +29172,7 @@ function fr_default() { } var error14; var init_fr = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fr.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.js"() { init_util2(); error14 = () => { const Sizable = { @@ -29279,7 +29279,7 @@ var init_fr = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fr-CA.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js function fr_CA_default() { return { localeError: error15() @@ -29287,7 +29287,7 @@ function fr_CA_default() { } var error15; var init_fr_CA = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/fr-CA.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js"() { init_util2(); error15 = () => { const Sizable = { @@ -29393,7 +29393,7 @@ var init_fr_CA = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/he.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.js function he_default() { return { localeError: error16() @@ -29401,7 +29401,7 @@ function he_default() { } var error16; var init_he = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/he.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.js"() { init_util2(); error16 = () => { const TypeNames = { @@ -29594,7 +29594,7 @@ var init_he = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/hu.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.js function hu_default() { return { localeError: error17() @@ -29602,7 +29602,7 @@ function hu_default() { } var error17; var init_hu = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/hu.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.js"() { init_util2(); error17 = () => { const Sizable = { @@ -29709,7 +29709,7 @@ var init_hu = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/hy.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.js function getArmenianPlural(count, one, many) { return Math.abs(count) === 1 ? one : many; } @@ -29727,7 +29727,7 @@ function hy_default() { } var error18; var init_hy = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/hy.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.js"() { init_util2(); error18 = () => { const Sizable = { @@ -29863,7 +29863,7 @@ var init_hy = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/id.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.js function id_default() { return { localeError: error19() @@ -29871,7 +29871,7 @@ function id_default() { } var error19; var init_id = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/id.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.js"() { init_util2(); error19 = () => { const Sizable = { @@ -29976,7 +29976,7 @@ var init_id = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/is.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.js function is_default() { return { localeError: error20() @@ -29984,7 +29984,7 @@ function is_default() { } var error20; var init_is = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/is.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.js"() { init_util2(); error20 = () => { const Sizable = { @@ -30092,7 +30092,7 @@ var init_is = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/it.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.js function it_default() { return { localeError: error21() @@ -30100,7 +30100,7 @@ function it_default() { } var error21; var init_it = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/it.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.js"() { init_util2(); error21 = () => { const Sizable = { @@ -30207,7 +30207,7 @@ var init_it = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ja.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.js function ja_default() { return { localeError: error22() @@ -30215,7 +30215,7 @@ function ja_default() { } var error22; var init_ja = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ja.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.js"() { init_util2(); error22 = () => { const Sizable = { @@ -30321,7 +30321,7 @@ var init_ja = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ka.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.js function ka_default() { return { localeError: error23() @@ -30329,7 +30329,7 @@ function ka_default() { } var error23; var init_ka = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ka.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.js"() { init_util2(); error23 = () => { const Sizable = { @@ -30440,7 +30440,7 @@ var init_ka = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/km.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.js function km_default() { return { localeError: error24() @@ -30448,7 +30448,7 @@ function km_default() { } var error24; var init_km = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/km.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.js"() { init_util2(); error24 = () => { const Sizable = { @@ -30557,17 +30557,17 @@ var init_km = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/kh.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.js function kh_default() { return km_default(); } var init_kh = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/kh.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.js"() { init_km(); } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ko.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.js function ko_default() { return { localeError: error25() @@ -30575,7 +30575,7 @@ function ko_default() { } var error25; var init_ko = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ko.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.js"() { init_util2(); error25 = () => { const Sizable = { @@ -30685,7 +30685,7 @@ var init_ko = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/lt.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.js function getUnitTypeFromNumber(number7) { const abs = Math.abs(number7); const last = abs % 10; @@ -30703,7 +30703,7 @@ function lt_default() { } var capitalizeFirstCharacter, error26; var init_lt = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/lt.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.js"() { init_util2(); capitalizeFirstCharacter = (text) => { return text.charAt(0).toUpperCase() + text.slice(1); @@ -30895,7 +30895,7 @@ var init_lt = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/mk.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.js function mk_default() { return { localeError: error27() @@ -30903,7 +30903,7 @@ function mk_default() { } var error27; var init_mk = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/mk.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.js"() { init_util2(); error27 = () => { const Sizable = { @@ -31011,7 +31011,7 @@ var init_mk = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ms.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.js function ms_default() { return { localeError: error28() @@ -31019,7 +31019,7 @@ function ms_default() { } var error28; var init_ms = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ms.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.js"() { init_util2(); error28 = () => { const Sizable = { @@ -31125,7 +31125,7 @@ var init_ms = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/nl.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.js function nl_default() { return { localeError: error29() @@ -31133,7 +31133,7 @@ function nl_default() { } var error29; var init_nl = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/nl.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.js"() { init_util2(); error29 = () => { const Sizable = { @@ -31242,7 +31242,7 @@ var init_nl = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/no.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.js function no_default() { return { localeError: error30() @@ -31250,7 +31250,7 @@ function no_default() { } var error30; var init_no = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/no.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.js"() { init_util2(); error30 = () => { const Sizable = { @@ -31357,7 +31357,7 @@ var init_no = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ota.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.js function ota_default() { return { localeError: error31() @@ -31365,7 +31365,7 @@ function ota_default() { } var error31; var init_ota = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ota.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.js"() { init_util2(); error31 = () => { const Sizable = { @@ -31473,7 +31473,7 @@ var init_ota = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ps.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.js function ps_default() { return { localeError: error32() @@ -31481,7 +31481,7 @@ function ps_default() { } var error32; var init_ps = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ps.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.js"() { init_util2(); error32 = () => { const Sizable = { @@ -31594,7 +31594,7 @@ var init_ps = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/pl.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.js function pl_default() { return { localeError: error33() @@ -31602,7 +31602,7 @@ function pl_default() { } var error33; var init_pl = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/pl.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.js"() { init_util2(); error33 = () => { const Sizable = { @@ -31710,7 +31710,7 @@ var init_pl = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/pt.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.js function pt_default() { return { localeError: error34() @@ -31718,7 +31718,7 @@ function pt_default() { } var error34; var init_pt = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/pt.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.js"() { init_util2(); error34 = () => { const Sizable = { @@ -31825,7 +31825,7 @@ var init_pt = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ru.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.js function getRussianPlural(count, one, few, many) { const absCount = Math.abs(count); const lastDigit = absCount % 10; @@ -31848,7 +31848,7 @@ function ru_default() { } var error35; var init_ru = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ru.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.js"() { init_util2(); error35 = () => { const Sizable = { @@ -31988,7 +31988,7 @@ var init_ru = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/sl.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.js function sl_default() { return { localeError: error36() @@ -31996,7 +31996,7 @@ function sl_default() { } var error36; var init_sl = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/sl.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.js"() { init_util2(); error36 = () => { const Sizable = { @@ -32104,7 +32104,7 @@ var init_sl = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/sv.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.js function sv_default() { return { localeError: error37() @@ -32112,7 +32112,7 @@ function sv_default() { } var error37; var init_sv = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/sv.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.js"() { init_util2(); error37 = () => { const Sizable = { @@ -32221,7 +32221,7 @@ var init_sv = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ta.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.js function ta_default() { return { localeError: error38() @@ -32229,7 +32229,7 @@ function ta_default() { } var error38; var init_ta = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ta.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.js"() { init_util2(); error38 = () => { const Sizable = { @@ -32338,7 +32338,7 @@ var init_ta = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/th.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.js function th_default() { return { localeError: error39() @@ -32346,7 +32346,7 @@ function th_default() { } var error39; var init_th = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/th.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.js"() { init_util2(); error39 = () => { const Sizable = { @@ -32455,7 +32455,7 @@ var init_th = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/tr.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.js function tr_default() { return { localeError: error40() @@ -32463,7 +32463,7 @@ function tr_default() { } var error40; var init_tr = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/tr.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.js"() { init_util2(); error40 = () => { const Sizable = { @@ -32567,7 +32567,7 @@ var init_tr = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/uk.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.js function uk_default() { return { localeError: error41() @@ -32575,7 +32575,7 @@ function uk_default() { } var error41; var init_uk = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/uk.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.js"() { init_util2(); error41 = () => { const Sizable = { @@ -32682,17 +32682,17 @@ var init_uk = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ua.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.js function ua_default() { return uk_default(); } var init_ua = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ua.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.js"() { init_uk(); } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ur.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.js function ur_default() { return { localeError: error42() @@ -32700,7 +32700,7 @@ function ur_default() { } var error42; var init_ur = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/ur.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.js"() { init_util2(); error42 = () => { const Sizable = { @@ -32809,7 +32809,7 @@ var init_ur = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/uz.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.js function uz_default() { return { localeError: error43() @@ -32817,7 +32817,7 @@ function uz_default() { } var error43; var init_uz = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/uz.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.js"() { init_util2(); error43 = () => { const Sizable = { @@ -32925,7 +32925,7 @@ var init_uz = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/vi.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.js function vi_default() { return { localeError: error44() @@ -32933,7 +32933,7 @@ function vi_default() { } var error44; var init_vi = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/vi.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.js"() { init_util2(); error44 = () => { const Sizable = { @@ -33040,7 +33040,7 @@ var init_vi = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/zh-CN.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js function zh_CN_default() { return { localeError: error45() @@ -33048,7 +33048,7 @@ function zh_CN_default() { } var error45; var init_zh_CN = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/zh-CN.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js"() { init_util2(); error45 = () => { const Sizable = { @@ -33156,7 +33156,7 @@ var init_zh_CN = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/zh-TW.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js function zh_TW_default() { return { localeError: error46() @@ -33164,7 +33164,7 @@ function zh_TW_default() { } var error46; var init_zh_TW = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/zh-TW.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js"() { init_util2(); error46 = () => { const Sizable = { @@ -33270,7 +33270,7 @@ var init_zh_TW = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/yo.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.js function yo_default() { return { localeError: error47() @@ -33278,7 +33278,7 @@ function yo_default() { } var error47; var init_yo = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/yo.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.js"() { init_util2(); error47 = () => { const Sizable = { @@ -33384,7 +33384,7 @@ var init_yo = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/index.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.js var locales_exports = {}; __export(locales_exports, { ar: () => ar_default, @@ -33438,7 +33438,7 @@ __export(locales_exports, { zhTW: () => zh_TW_default }); var init_locales = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/locales/index.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.js"() { init_ar(); init_az(); init_be(); @@ -33491,13 +33491,13 @@ var init_locales = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.js function registry2() { return new $ZodRegistry(); } var _a, $output, $input, $ZodRegistry, globalRegistry; var init_registries = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.js"() { $output = Symbol("ZodOutput"); $input = Symbol("ZodInput"); $ZodRegistry = class { @@ -33545,7 +33545,7 @@ var init_registries = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js // @__NO_SIDE_EFFECTS__ function _string(Class2, params) { return new Class2({ @@ -34578,7 +34578,7 @@ function _stringFormat(Class2, format2, fnOrRegex, _params = {}) { } var TimePrecision; var init_api = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/api.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js"() { init_checks(); init_registries(); init_schemas(); @@ -34593,7 +34593,7 @@ var init_api = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js function initializeContext(params) { let target = params?.target ?? "draft-2020-12"; if (target === "draft-4") @@ -34792,7 +34792,7 @@ function finalize(ctx, schema2) { } } } - if (refSchema.$ref) { + if (refSchema.$ref && refSeen.def) { for (const key in schema3) { if (key === "$ref" || key === "allOf") continue; @@ -34933,7 +34933,7 @@ function isTransforming(_schema, _ctx) { } var createToJSONSchemaMethod, createStandardJSONSchemaMethod; var init_to_json_schema = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js"() { init_registries(); createToJSONSchemaMethod = (schema2, processors = {}) => (params) => { const ctx = initializeContext({ ...params, processors }); @@ -34951,7 +34951,7 @@ var init_to_json_schema = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js function toJSONSchema(input, params) { if ("_idmap" in input) { const registry4 = input; @@ -34988,7 +34988,7 @@ function toJSONSchema(input, params) { } var formatMap, stringProcessor, numberProcessor, booleanProcessor, bigintProcessor, symbolProcessor, nullProcessor, undefinedProcessor, voidProcessor, neverProcessor, anyProcessor, unknownProcessor, dateProcessor, enumProcessor, literalProcessor, nanProcessor, templateLiteralProcessor, fileProcessor, successProcessor, customProcessor, functionProcessor, transformProcessor, mapProcessor, setProcessor, arrayProcessor, objectProcessor, unionProcessor, intersectionProcessor, tupleProcessor, recordProcessor, nullableProcessor, nonoptionalProcessor, defaultProcessor, prefaultProcessor, catchProcessor, pipeProcessor, readonlyProcessor, promiseProcessor, optionalProcessor, lazyProcessor, allProcessors; var init_json_schema_processors = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js"() { init_to_json_schema(); init_util2(); formatMap = { @@ -35509,10 +35509,10 @@ var init_json_schema_processors = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-generator.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js var JSONSchemaGenerator; var init_json_schema_generator = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema-generator.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js"() { init_json_schema_processors(); init_to_json_schema(); JSONSchemaGenerator = class { @@ -35591,14 +35591,14 @@ var init_json_schema_generator = __esm({ } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.js var json_schema_exports = {}; var init_json_schema = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.js"() { } }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/index.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.js var core_exports2 = {}; __export(core_exports2, { $ZodAny: () => $ZodAny, @@ -35876,7 +35876,7 @@ __export(core_exports2, { version: () => version }); var init_core2 = __esm({ - "node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/index.js"() { + "node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.js"() { init_core(); init_parse(); init_errors2(); @@ -35896,10 +35896,10 @@ var init_core2 = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/Options.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/Options.js var ignoreOverride, jsonDescription, defaultOptions, getDefaultOptions; var init_Options = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/Options.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/Options.js"() { ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use"); jsonDescription = (jsonSchema2, def) => { if (def.description) { @@ -35947,10 +35947,10 @@ var init_Options = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/Refs.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/Refs.js var getRefs; var init_Refs = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/Refs.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/Refs.js"() { init_Options(); getRefs = (options) => { const _options = getDefaultOptions(options); @@ -35974,7 +35974,7 @@ var init_Refs = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/errorMessages.js function addErrorMessage(res, key, errorMessage, refs) { if (!refs?.errorMessages) return; @@ -35990,14 +35990,14 @@ function setResponseValueAndErrors(res, key, value2, errorMessage, refs) { addErrorMessage(res, key, errorMessage, refs); } var init_errorMessages = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/errorMessages.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/errorMessages.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js var getRelativePath; var init_getRelativePath = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js"() { getRelativePath = (pathA, pathB) => { let i = 0; for (; i < pathA.length && i < pathB.length; i++) { @@ -36009,7 +36009,7 @@ var init_getRelativePath = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/any.js function parseAnyDef(refs) { if (refs.target !== "openAi") { return {}; @@ -36025,12 +36025,12 @@ function parseAnyDef(refs) { }; } var init_any = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/any.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/any.js"() { init_getRelativePath(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/array.js function parseArrayDef(def, refs) { const res = { type: "array" @@ -36054,14 +36054,14 @@ function parseArrayDef(def, refs) { return res; } var init_array = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/array.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/array.js"() { init_v3(); init_errorMessages(); init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js function parseBigintDef(def, refs) { const res = { type: "integer", @@ -36107,36 +36107,36 @@ function parseBigintDef(def, refs) { return res; } var init_bigint = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js"() { init_errorMessages(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js function parseBooleanDef() { return { type: "boolean" }; } var init_boolean = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js function parseBrandedDef(_def, refs) { return parseDef(_def.type._def, refs); } var init_branded = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js"() { init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js var parseCatchDef; var init_catch = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js"() { init_parseDef(); parseCatchDef = (def, refs) => { return parseDef(def.innerType._def, refs); @@ -36144,7 +36144,7 @@ var init_catch = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/date.js function parseDateDef(def, refs, overrideDateStrategy) { const strategy = overrideDateStrategy ?? refs.dateStrategy; if (Array.isArray(strategy)) { @@ -36170,7 +36170,7 @@ function parseDateDef(def, refs, overrideDateStrategy) { } var integerDateParser; var init_date = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/date.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/date.js"() { init_errorMessages(); integerDateParser = (def, refs) => { const res = { @@ -36209,7 +36209,7 @@ var init_date = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/default.js function parseDefaultDef(_def, refs) { return { ...parseDef(_def.innerType._def, refs), @@ -36217,23 +36217,23 @@ function parseDefaultDef(_def, refs) { }; } var init_default = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/default.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/default.js"() { init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js function parseEffectsDef(_def, refs) { return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs); } var init_effects = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js"() { init_parseDef(); init_any(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js function parseEnumDef(def) { return { type: "string", @@ -36241,11 +36241,11 @@ function parseEnumDef(def) { }; } var init_enum = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js function parseIntersectionDef(def, refs) { const allOf = [ parseDef(def.left._def, { @@ -36283,7 +36283,7 @@ function parseIntersectionDef(def, refs) { } var isJsonSchema7AllOfType; var init_intersection = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js"() { init_parseDef(); isJsonSchema7AllOfType = (type2) => { if ("type" in type2 && type2.type === "string") @@ -36293,7 +36293,7 @@ var init_intersection = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js function parseLiteralDef(def, refs) { const parsedType2 = typeof def.value; if (parsedType2 !== "bigint" && parsedType2 !== "number" && parsedType2 !== "boolean" && parsedType2 !== "string") { @@ -36313,11 +36313,11 @@ function parseLiteralDef(def, refs) { }; } var init_literal = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/string.js function parseStringDef(def, refs) { const res = { type: "string" @@ -36594,7 +36594,7 @@ function stringifyRegExpWithFlags(regex4, refs) { } var emojiRegex2, zodPatterns, ALPHA_NUMERIC; var init_string = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/string.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/string.js"() { init_errorMessages(); emojiRegex2 = void 0; zodPatterns = { @@ -36648,7 +36648,7 @@ var init_string = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/record.js function parseRecordDef(def, refs) { if (refs.target === "openAi") { console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."); @@ -36700,7 +36700,7 @@ function parseRecordDef(def, refs) { return schema2; } var init_record = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/record.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/record.js"() { init_v3(); init_parseDef(); init_string(); @@ -36709,7 +36709,7 @@ var init_record = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/map.js function parseMapDef(def, refs) { if (refs.mapStrategy === "record") { return parseRecordDef(def, refs); @@ -36734,14 +36734,14 @@ function parseMapDef(def, refs) { }; } var init_map = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/map.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/map.js"() { init_parseDef(); init_record(); init_any(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js function parseNativeEnumDef(def) { const object5 = def.values; const actualKeys = Object.keys(def.values).filter((key) => { @@ -36755,11 +36755,11 @@ function parseNativeEnumDef(def) { }; } var init_nativeEnum = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/never.js function parseNeverDef(refs) { return refs.target === "openAi" ? void 0 : { not: parseAnyDef({ @@ -36769,12 +36769,12 @@ function parseNeverDef(refs) { }; } var init_never = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/never.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/never.js"() { init_any(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/null.js function parseNullDef(refs) { return refs.target === "openApi3" ? { enum: ["null"], @@ -36784,11 +36784,11 @@ function parseNullDef(refs) { }; } var init_null = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/null.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/null.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/union.js function parseUnionDef(def, refs) { if (refs.target === "openApi3") return asAnyOf(def, refs); @@ -36843,7 +36843,7 @@ function parseUnionDef(def, refs) { } var primitiveMappings, asAnyOf; var init_union = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/union.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/union.js"() { init_parseDef(); primitiveMappings = { ZodString: "string", @@ -36862,7 +36862,7 @@ var init_union = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js function parseNullableDef(def, refs) { if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) { if (refs.target === "openApi3") { @@ -36894,13 +36894,13 @@ function parseNullableDef(def, refs) { return base && { anyOf: [base, { type: "null" }] }; } var init_nullable = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js"() { init_parseDef(); init_union(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/number.js function parseNumberDef(def, refs) { const res = { type: "number" @@ -36949,12 +36949,12 @@ function parseNumberDef(def, refs) { return res; } var init_number = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/number.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/number.js"() { init_errorMessages(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/object.js function parseObjectDef(def, refs) { const forceOptionalIntoNullable = refs.target === "openAi"; const result = { @@ -37024,15 +37024,15 @@ function safeIsOptional(schema2) { } } var init_object = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/object.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/object.js"() { init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js var parseOptionalDef; var init_optional = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js"() { init_parseDef(); init_any(); parseOptionalDef = (def, refs) => { @@ -37055,10 +37055,10 @@ var init_optional = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js var parsePipelineDef; var init_pipeline = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js"() { init_parseDef(); parsePipelineDef = (def, refs) => { if (refs.pipeStrategy === "input") { @@ -37081,17 +37081,17 @@ var init_pipeline = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js function parsePromiseDef(def, refs) { return parseDef(def.type._def, refs); } var init_promise = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js"() { init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/set.js function parseSetDef(def, refs) { const items = parseDef(def.valueType._def, { ...refs, @@ -37111,13 +37111,13 @@ function parseSetDef(def, refs) { return schema2; } var init_set = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/set.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/set.js"() { init_errorMessages(); init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js function parseTupleDef(def, refs) { if (def.rest) { return { @@ -37145,37 +37145,37 @@ function parseTupleDef(def, refs) { } } var init_tuple = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js"() { init_parseDef(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js function parseUndefinedDef(refs) { return { not: parseAnyDef(refs) }; } var init_undefined = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js"() { init_any(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js function parseUnknownDef(refs) { return parseAnyDef(refs); } var init_unknown = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js"() { init_any(); } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js var parseReadonlyDef; var init_readonly = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js"() { init_parseDef(); parseReadonlyDef = (def, refs) => { return parseDef(def.innerType._def, refs); @@ -37183,10 +37183,10 @@ var init_readonly = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/selectParser.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/selectParser.js var selectParser; var init_selectParser = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/selectParser.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/selectParser.js"() { init_v3(); init_any(); init_array(); @@ -37295,7 +37295,7 @@ var init_selectParser = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parseDef.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parseDef.js function parseDef(def, refs, forceResolution = false) { const seenItem = refs.seen.get(def); if (refs.override) { @@ -37327,7 +37327,7 @@ function parseDef(def, refs, forceResolution = false) { } var get$ref, addMeta; var init_parseDef = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parseDef.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parseDef.js"() { init_Options(); init_selectParser(); init_getRelativePath(); @@ -37360,16 +37360,16 @@ var init_parseDef = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parseTypes.js var init_parseTypes = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/parseTypes.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/parseTypes.js"() { } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js var zodToJsonSchema; var init_zodToJsonSchema = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js"() { init_parseDef(); init_Refs(); init_any(); @@ -37436,7 +37436,7 @@ var init_zodToJsonSchema = __esm({ } }); -// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/index.js +// node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/index.js var esm_exports = {}; __export(esm_exports, { addErrorMessage: () => addErrorMessage, @@ -37486,7 +37486,7 @@ __export(esm_exports, { }); var esm_default; var init_esm = __esm({ - "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.5/node_modules/zod-to-json-schema/dist/esm/index.js"() { + "node_modules/.pnpm/zod-to-json-schema@3.25.1_zod@4.3.6/node_modules/zod-to-json-schema/dist/esm/index.js"() { init_Options(); init_Refs(); init_errorMessages(); @@ -37530,9 +37530,9 @@ var init_esm = __esm({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js var require_code = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0; @@ -37684,9 +37684,9 @@ var require_code = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js var require_scope = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0; @@ -37829,9 +37829,9 @@ var require_scope = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js var require_codegen = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0; @@ -37887,7 +37887,7 @@ var require_codegen = __commonJS({ AND: new code_1._Code("&&"), ADD: new code_1._Code("+") }; - var Node = class { + var Node3 = class { optimizeNodes() { return this; } @@ -37895,7 +37895,7 @@ var require_codegen = __commonJS({ return this; } }; - var Def = class extends Node { + var Def = class extends Node3 { constructor(varKind, name, rhs) { super(); this.varKind = varKind; @@ -37918,7 +37918,7 @@ var require_codegen = __commonJS({ return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; } }; - var Assign = class extends Node { + var Assign = class extends Node3 { constructor(lhs, rhs, sideEffects) { super(); this.lhs = lhs; @@ -37948,7 +37948,7 @@ var require_codegen = __commonJS({ return `${this.lhs} ${this.op}= ${this.rhs};` + _n; } }; - var Label = class extends Node { + var Label = class extends Node3 { constructor(label) { super(); this.label = label; @@ -37958,7 +37958,7 @@ var require_codegen = __commonJS({ return `${this.label}:` + _n; } }; - var Break = class extends Node { + var Break = class extends Node3 { constructor(label) { super(); this.label = label; @@ -37969,7 +37969,7 @@ var require_codegen = __commonJS({ return `break${label};` + _n; } }; - var Throw = class extends Node { + var Throw = class extends Node3 { constructor(error49) { super(); this.error = error49; @@ -37981,7 +37981,7 @@ var require_codegen = __commonJS({ return this.error.names; } }; - var AnyCode = class extends Node { + var AnyCode = class extends Node3 { constructor(code) { super(); this.code = code; @@ -38000,7 +38000,7 @@ var require_codegen = __commonJS({ return this.code instanceof code_1._CodeOrName ? this.code.names : {}; } }; - var ParentNode = class extends Node { + var ParentNode = class extends Node3 { constructor(nodes = []) { super(); this.nodes = nodes; @@ -38549,9 +38549,9 @@ var require_codegen = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js var require_util8 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0; @@ -38716,9 +38716,9 @@ var require_util8 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js var require_names = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -38755,9 +38755,9 @@ var require_names = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js var require_errors2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0; @@ -38877,9 +38877,9 @@ var require_errors2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js var require_boolSchema = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; @@ -38928,9 +38928,9 @@ var require_boolSchema = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js var require_rules = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRules = exports.isJSONType = void 0; @@ -38959,9 +38959,9 @@ var require_rules = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js var require_applicability = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; @@ -38982,9 +38982,9 @@ var require_applicability = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js var require_dataType = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0; @@ -39166,9 +39166,9 @@ var require_dataType = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js var require_defaults = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assignDefaults = void 0; @@ -39203,9 +39203,9 @@ var require_defaults = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js var require_code2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0; @@ -39336,9 +39336,9 @@ var require_code2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js var require_keyword = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0; @@ -39454,9 +39454,9 @@ var require_keyword = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js var require_subschema = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; @@ -39660,9 +39660,9 @@ var require_json_schema_traverse = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js var require_resolve = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0; @@ -39816,9 +39816,9 @@ var require_resolve = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js var require_validate = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; @@ -40324,9 +40324,9 @@ var require_validate = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js var require_validation_error = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ValidationError = class extends Error { @@ -40340,9 +40340,9 @@ var require_validation_error = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js var require_ref_error = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var resolve_1 = require_resolve(); @@ -40357,9 +40357,9 @@ var require_ref_error = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js var require_compile = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0; @@ -40581,9 +40581,9 @@ var require_compile = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.json var require_data = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json"(exports, module) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.json"(exports, module) { module.exports = { $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", @@ -40992,7 +40992,7 @@ var require_schemes = __commonJS({ serialize: httpSerialize } ); - var https = ( + var https2 = ( /** @type {SchemeHandler} */ { scheme: "https", @@ -41041,7 +41041,7 @@ var require_schemes = __commonJS({ /** @type {Record} */ { http: http2, - https, + https: https2, ws, wss, urn, @@ -41322,9 +41322,9 @@ var require_fast_uri = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js var require_uri = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var uri = require_fast_uri(); @@ -41333,9 +41333,9 @@ var require_uri = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js var require_core2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; @@ -41944,9 +41944,9 @@ var require_core2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js var require_id = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var def = { @@ -41959,9 +41959,9 @@ var require_id = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js var require_ref = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.callRef = exports.getValidate = void 0; @@ -42081,9 +42081,9 @@ var require_ref = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js var require_core3 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var id_1 = require_id(); @@ -42102,9 +42102,9 @@ var require_core3 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js var require_limitNumber = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42134,9 +42134,9 @@ var require_limitNumber = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js var require_multipleOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42162,9 +42162,9 @@ var require_multipleOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js var require_ucs2length = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function ucs2length(str) { @@ -42188,9 +42188,9 @@ var require_ucs2length = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js var require_limitLength = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42220,12 +42220,13 @@ var require_limitLength = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js var require_pattern = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var code_1 = require_code2(); + var util_1 = require_util8(); var codegen_1 = require_codegen(); var error49 = { message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, @@ -42238,19 +42239,27 @@ var require_pattern = __commonJS({ $data: true, error: error49, code(cxt) { - const { data, $data, schema: schema2, schemaCode, it } = cxt; + const { gen, data, $data, schema: schema2, schemaCode, it } = cxt; const u = it.opts.unicodeRegExp ? "u" : ""; - const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema2); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + if ($data) { + const { regExp } = it.opts.code; + const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._)`new RegExp` : (0, util_1.useFunc)(gen, regExp); + const valid = gen.let("valid"); + gen.try(() => gen.assign(valid, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u}).test(${data})`), () => gen.assign(valid, false)); + cxt.fail$data((0, codegen_1._)`!${valid}`); + } else { + const regExp = (0, code_1.usePattern)(cxt, schema2); + cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); + } } }; exports.default = def; } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js var require_limitProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42277,9 +42286,9 @@ var require_limitProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js var require_required = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var code_1 = require_code2(); @@ -42359,9 +42368,9 @@ var require_required = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js var require_limitItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42388,9 +42397,9 @@ var require_limitItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js var require_equal = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var equal = require_fast_deep_equal(); @@ -42399,9 +42408,9 @@ var require_equal = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js var require_uniqueItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dataType_1 = require_dataType(); @@ -42466,9 +42475,9 @@ var require_uniqueItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js var require_const = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42495,9 +42504,9 @@ var require_const = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js var require_enum = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42544,9 +42553,9 @@ var require_enum = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js var require_validation = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var limitNumber_1 = require_limitNumber(); @@ -42582,9 +42591,9 @@ var require_validation = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js var require_additionalItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateAdditionalItems = void 0; @@ -42635,9 +42644,9 @@ var require_additionalItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js var require_items = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateTuple = void 0; @@ -42692,9 +42701,9 @@ var require_items = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js var require_prefixItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var items_1 = require_items(); @@ -42709,9 +42718,9 @@ var require_prefixItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js var require_items2020 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42744,9 +42753,9 @@ var require_items2020 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js var require_contains = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42838,9 +42847,9 @@ var require_contains = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js var require_dependencies = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; @@ -42932,9 +42941,9 @@ var require_dependencies = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js var require_propertyNames = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -42975,9 +42984,9 @@ var require_propertyNames = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js var require_additionalProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var code_1 = require_code2(); @@ -43081,9 +43090,9 @@ var require_additionalProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js var require_properties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var validate_1 = require_validate(); @@ -43139,9 +43148,9 @@ var require_properties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js var require_patternProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var code_1 = require_code2(); @@ -43213,9 +43222,9 @@ var require_patternProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js var require_not = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var util_1 = require_util8(); @@ -43244,9 +43253,9 @@ var require_not = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js var require_anyOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var code_1 = require_code2(); @@ -43261,9 +43270,9 @@ var require_anyOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js var require_oneOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -43319,9 +43328,9 @@ var require_oneOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js var require_allOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var util_1 = require_util8(); @@ -43346,9 +43355,9 @@ var require_allOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js var require_if = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -43415,9 +43424,9 @@ var require_if = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js var require_thenElse = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var util_1 = require_util8(); @@ -43433,9 +43442,9 @@ var require_thenElse = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js var require_applicator = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var additionalItems_1 = require_additionalItems(); @@ -43481,9 +43490,9 @@ var require_applicator = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js var require_format = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -43571,9 +43580,9 @@ var require_format = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js var require_format2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var format_1 = require_format(); @@ -43582,9 +43591,9 @@ var require_format2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js var require_metadata = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.contentVocabulary = exports.metadataVocabulary = void 0; @@ -43605,9 +43614,9 @@ var require_metadata = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js var require_draft7 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require_core3(); @@ -43627,9 +43636,9 @@ var require_draft7 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js var require_types = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DiscrError = void 0; @@ -43641,9 +43650,9 @@ var require_types = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js var require_discriminator = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -43746,9 +43755,9 @@ var require_discriminator = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json var require_json_schema_draft_07 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module) { module.exports = { $schema: "http://json-schema.org/draft-07/schema#", $id: "http://json-schema.org/draft-07/schema#", @@ -43903,9 +43912,9 @@ var require_json_schema_draft_07 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js var require_ajv = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js"(exports, module) { + "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js"(exports, module) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0; @@ -43973,9 +43982,9 @@ var require_ajv = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js var require_formats = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js"(exports) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/formats.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatNames = exports.fastFormats = exports.fullFormats = void 0; @@ -44176,9 +44185,9 @@ var require_formats = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js var require_limit = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js"(exports) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/limit.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatLimitDefinition = void 0; @@ -44248,9 +44257,9 @@ var require_limit = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js var require_dist = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js"(exports, module) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.18.0/node_modules/ajv-formats/dist/index.js"(exports, module) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var formats_1 = require_formats(); @@ -44277,12 +44286,12 @@ var require_dist = __commonJS({ throw new Error(`Unknown format "${name}"`); return f; }; - function addFormats(ajv, list, fs3, exportName) { + function addFormats(ajv, list, fs4, exportName) { var _a2; var _b; (_a2 = (_b = ajv.opts.code).formats) !== null && _a2 !== void 0 ? _a2 : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`; for (const f of list) - ajv.addFormat(f, fs3[f]); + ajv.addFormat(f, fs4[f]); } module.exports = exports = formatsPlugin; Object.defineProperty(exports, "__esModule", { value: true }); @@ -44290,9 +44299,9 @@ var require_dist = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/symbols.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/symbols.js var require_symbols6 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/symbols.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/symbols.js"(exports, module) { "use strict"; module.exports = { kClose: Symbol("close"), @@ -44356,6 +44365,12 @@ var require_symbols6 = __commonJS({ kListeners: Symbol("listeners"), kHTTPContext: Symbol("http context"), kMaxConcurrentStreams: Symbol("max concurrent streams"), + kHTTP2InitialWindowSize: Symbol("http2 initial window size"), + kHTTP2ConnectionWindowSize: Symbol("http2 connection window size"), + kEnableConnectProtocol: Symbol("http2session connect protocol"), + kRemoteSettings: Symbol("http2session remote settings"), + kHTTP2Stream: Symbol("http2session client stream"), + kPingInterval: Symbol("ping interval"), kNoProxyAgent: Symbol("no proxy agent"), kHttpProxyAgent: Symbol("http proxy agent"), kHttpsProxyAgent: Symbol("https proxy agent") @@ -44363,9 +44378,9 @@ var require_symbols6 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/timers.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/timers.js var require_timers2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/timers.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/timers.js"(exports, module) { "use strict"; var fastNow = 0; var RESOLUTION_MS = 1e3; @@ -44592,9 +44607,9 @@ var require_timers2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/errors.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/errors.js var require_errors4 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/errors.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/errors.js"(exports, module) { "use strict"; var kUndiciError = Symbol.for("undici.error.UND_ERR"); var UndiciError = class extends Error { @@ -44976,9 +44991,9 @@ var require_errors4 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/constants.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/constants.js var require_constants6 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/constants.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/constants.js"(exports, module) { "use strict"; var wellknownHeaderNames = ( /** @type {const} */ @@ -45104,9 +45119,9 @@ var require_constants6 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/tree.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/tree.js var require_tree = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/tree.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/tree.js"(exports, module) { "use strict"; var { wellknownHeaderNames, @@ -45246,9 +45261,9 @@ var require_tree = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/util.js var require_util10 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/util.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols6(); @@ -45291,6 +45306,8 @@ var require_util10 = __commonJS({ 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 { @@ -45470,46 +45487,31 @@ var require_util10 = __commonJS({ val = [val]; obj[key] = val; } - val.push(headers[i + 1].toString("utf8")); + val.push(headers[i + 1].toString("latin1")); } else { const headersValue = headers[i + 1]; if (typeof headersValue === "string") { obj[key] = headersValue; } else { - obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8"); + obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("latin1")) : headersValue.toString("latin1"); } } } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); - } return obj; } function parseRawHeaders(headers) { const headersLength = headers.length; const ret = new Array(headersLength); - let hasContentLength = false; - let contentDispositionIdx = -1; let key; let val; - let kLen = 0; for (let n = 0; n < headersLength; n += 2) { key = headers[n]; val = headers[n + 1]; typeof key !== "string" && (key = key.toString()); - typeof val !== "string" && (val = val.toString("utf8")); - kLen = key.length; - if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) { - hasContentLength = true; - } else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = n + 1; - } + typeof val !== "string" && (val = val.toString("latin1")); ret[n] = key; ret[n + 1] = val; } - if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); - } return ret; } function encodeRawHeaders(headers) { @@ -45578,14 +45580,14 @@ var require_util10 = __commonJS({ pull(controller) { return iterator2.next().then(({ done, value: value2 }) => { if (done) { - queueMicrotask(() => { + return queueMicrotask(() => { controller.close(); controller.byobRequest?.respond(0); }); } else { const buf = Buffer.isBuffer(value2) ? value2 : Buffer.from(value2); if (buf.byteLength) { - controller.enqueue(new Uint8Array(buf)); + return controller.enqueue(new Uint8Array(buf)); } else { return this.pull(controller); } @@ -45610,36 +45612,289 @@ var require_util10 = __commonJS({ 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(c) { - switch (c) { - case 34: - case 40: - case 41: - case 44: - case 47: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 91: - case 92: - case 93: - case 123: - case 125: - return false; - default: - return c >= 33 && c <= 126; - } + return validTokenChars[c] === 1; } + var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; - } - for (let i = 0; i < characters.length; ++i) { - if (!isTokenCharCode(characters.charCodeAt(i))) { + if (characters.length >= 12) return tokenRegExp.test(characters); + if (characters.length === 0) return false; + for (let i = 0; i < characters.length; i++) { + if (validTokenChars[characters.charCodeAt(i)] !== 1) { return false; } } @@ -45811,9 +46066,9 @@ var require_util10 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/stats.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/stats.js var require_stats = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/stats.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/stats.js"(exports, module) { "use strict"; var { kConnected, @@ -45845,9 +46100,9 @@ var require_stats = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/diagnostics.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/diagnostics.js var require_diagnostics = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/diagnostics.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/diagnostics.js"(exports, module) { "use strict"; var diagnosticsChannel = __require("node:diagnostics_channel"); var util2 = __require("node:util"); @@ -45873,13 +46128,19 @@ var require_diagnostics = __commonJS({ 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") + 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", @@ -45943,6 +46204,10 @@ var require_diagnostics = __commonJS({ if (isTrackingRequestEvents) { return; } + if (channels.headers.hasSubscribers || channels.trailers.hasSubscribers || channels.error.hasSubscribers) { + isTrackingRequestEvents = true; + return; + } isTrackingRequestEvents = true; diagnosticsChannel.subscribe( "undici:request:headers", @@ -45991,6 +46256,10 @@ var require_diagnostics = __commonJS({ 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", @@ -46046,9 +46315,9 @@ var require_diagnostics = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/request.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/request.js var require_request3 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/request.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/request.js"(exports, module) { "use strict"; var { InvalidArgumentError, @@ -46385,9 +46654,9 @@ var require_request3 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/wrap-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/wrap-handler.js var require_wrap_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/wrap-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/wrap-handler.js"(exports, module) { "use strict"; var { InvalidArgumentError } = require_errors4(); module.exports = class WrapHandler { @@ -46462,9 +46731,9 @@ var require_wrap_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/dispatcher.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher.js var require_dispatcher2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module) { "use strict"; var EventEmitter2 = __require("node:events"); var WrapHandler = require_wrap_handler(); @@ -46504,9 +46773,9 @@ var require_dispatcher2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/unwrap-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/unwrap-handler.js var require_unwrap_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/unwrap-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/unwrap-handler.js"(exports, module) { "use strict"; var { parseHeaders } = require_util10(); var { InvalidArgumentError } = require_errors4(); @@ -46584,9 +46853,9 @@ var require_unwrap_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/dispatcher-base.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher-base.js var require_dispatcher_base2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module) { "use strict"; var Dispatcher = require_dispatcher2(); var UnwrapHandler = require_unwrap_handler(); @@ -46601,12 +46870,12 @@ var require_dispatcher_base2 = __commonJS({ var DispatcherBase = class extends Dispatcher { /** @type {boolean} */ [kDestroyed] = false; - /** @type {Array|null} */ + /** @type {Array|null} */ + [kOnClosed] = null; /** @returns {boolean} */ get destroyed() { return this[kDestroyed]; @@ -46627,7 +46896,8 @@ var require_dispatcher_base2 = __commonJS({ throw new InvalidArgumentError("invalid callback"); } if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); + const err = new ClientDestroyedError(); + queueMicrotask(() => callback(err, null)); return; } if (this[kClosed]) { @@ -46639,6 +46909,7 @@ var require_dispatcher_base2 = __commonJS({ return; } this[kClosed] = true; + this[kOnClosed] ??= []; this[kOnClosed].push(callback); const onClosed = () => { const callbacks = this[kOnClosed]; @@ -46647,9 +46918,7 @@ var require_dispatcher_base2 = __commonJS({ callbacks[i](null, null); } }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); + this[kClose]().then(() => this.destroy()).then(() => queueMicrotask(onClosed)); } destroy(err, callback) { if (typeof err === "function") { @@ -46659,10 +46928,7 @@ var require_dispatcher_base2 = __commonJS({ if (callback === void 0) { return new Promise((resolve3, reject) => { this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve3(data); + return err2 ? reject(err2) : resolve3(data); }); }); } @@ -46681,7 +46947,7 @@ var require_dispatcher_base2 = __commonJS({ err = new ClientDestroyedError(); } this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; + this[kOnDestroyed] ??= []; this[kOnDestroyed].push(callback); const onDestroyed = () => { const callbacks = this[kOnDestroyed]; @@ -46690,9 +46956,7 @@ var require_dispatcher_base2 = __commonJS({ callbacks[i](null, null); } }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); + this[kDestroy](err).then(() => queueMicrotask(onDestroyed)); } dispatch(opts, handler2) { if (!handler2 || typeof handler2 !== "object") { @@ -46723,9 +46987,9 @@ var require_dispatcher_base2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/connect.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/connect.js var require_connect2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/core/connect.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/core/connect.js"(exports, module) { "use strict"; var net = __require("node:net"); var assert3 = __require("node:assert"); @@ -46758,7 +47022,7 @@ var require_connect2 = __commonJS({ this._sessionRegistry.register(session, sessionKey); } }; - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) { + function buildConnector({ allowH2, useH2c, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) { if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); } @@ -46804,6 +47068,9 @@ var require_connect2 = __commonJS({ port, host: hostname4 }); + if (useH2c === true) { + socket.alpnProtocol = "h2"; + } } if (options.keepAlive == null || options.keepAlive) { const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; @@ -46832,9 +47099,9 @@ var require_connect2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/utils.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/utils.js var require_utils5 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/utils.js"(exports) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/utils.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enumToMap = enumToMap; @@ -46848,9 +47115,9 @@ var require_utils5 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/constants.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/constants.js var require_constants7 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/constants.js"(exports) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/constants.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0; @@ -47471,9 +47738,9 @@ var require_constants7 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/llhttp-wasm.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp-wasm.js var require_llhttp_wasm2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module) { "use strict"; var { Buffer: Buffer2 } = __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=="; @@ -47486,9 +47753,9 @@ var require_llhttp_wasm2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js var require_llhttp_simd_wasm2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module) { "use strict"; var { Buffer: Buffer2 } = __require("node:buffer"); var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/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+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw=="; @@ -47501,9 +47768,9 @@ var require_llhttp_simd_wasm2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/constants.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/constants.js var require_constants8 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/constants.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/constants.js"(exports, module) { "use strict"; var corsSafeListedMethods = ( /** @type {const} */ @@ -47725,9 +47992,9 @@ var require_constants8 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/global.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/global.js var require_global3 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/global.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/global.js"(exports, module) { "use strict"; var globalOrigin = Symbol.for("undici.globalOrigin.1"); function getGlobalOrigin() { @@ -47761,16 +48028,150 @@ var require_global3 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/data-url.js -var require_data_url = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/data-url.js"(exports, module) { +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/encoding/index.js +var require_encoding2 = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/encoding/index.js"(exports, module) { + "use strict"; + var textDecoder = new TextDecoder(); + function utf8DecodeBytes(buffer) { + if (buffer.length === 0) { + return ""; + } + if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { + buffer = buffer.subarray(3); + } + const output = textDecoder.decode(buffer); + return output; + } + module.exports = { + utf8DecodeBytes + }; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/infra/index.js +var require_infra = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/infra/index.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /[\u000A\u000D\u0009\u0020]/; + var { utf8DecodeBytes } = require_encoding2(); + function collectASequenceOfCodePoints(condition, input, position) { + let result = ""; + while (position.position < input.length && condition(input[position.position])) { + result += input[position.position]; + position.position++; + } + return result; + } + function collectASequenceOfCodePointsFast(char, input, position) { + const idx = input.indexOf(char, position.position); + const start = position.position; + if (idx === -1) { + position.position = input.length; + return input.slice(start); + } + position.position = idx; + return input.slice(start, position.position); + } var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g; - var HTTP_QUOTED_STRING_TOKENS = /^[\u0009\u0020-\u007E\u0080-\u00FF]+$/; + 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 buffer = Buffer.from(data, "base64"); + return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.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 result = ""; + let i = 0; + let addition = (2 << 15) - 1; + while (i < length) { + if (i + addition > length) { + addition = length - i; + } + result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); + } + return result; + } + var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; + function isomorphicEncode(input) { + assert3(!invalidIsomorphicEncodeValueRegex.test(input)); + return input; + } + function parseJSONFromBytes(bytes) { + return JSON.parse(utf8DecodeBytes(bytes)); + } + function removeASCIIWhitespace(str, leading = true, trailing = true) { + return removeChars(str, leading, trailing, isASCIIWhitespace); + } + function removeChars(str, leading, trailing, predicate) { + let lead = 0; + let trail = str.length - 1; + if (leading) { + while (lead < str.length && predicate(str.charCodeAt(lead))) lead++; + } + if (trailing) { + while (trail > 0 && predicate(str.charCodeAt(trail))) trail--; + } + return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1); + } + function serializeJavascriptValueToJSONString(value2) { + const result = JSON.stringify(value2); + if (result === void 0) { + throw new TypeError("Value is not JSON serializable"); + } + assert3(typeof result === "string"); + return result; + } + module.exports = { + collectASequenceOfCodePoints, + collectASequenceOfCodePointsFast, + forgivingBase64, + isASCIIWhitespace, + isomorphicDecode, + isomorphicEncode, + parseJSONFromBytes, + removeASCIIWhitespace, + removeChars, + serializeJavascriptValueToJSONString + }; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/data-url.js +var require_data_url = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/data-url.js"(exports, module) { + "use strict"; + var assert3 = __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) { assert3(dataURL.protocol === "data:"); let input = URLSerializer(dataURL, true); @@ -47789,14 +48190,14 @@ var require_data_url = __commonJS({ position.position++; const encodedBody = input.slice(mimeTypeLength + 1); let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { + 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)+$/, ""); + mimeType = mimeType.replace(/(\u0020+)$/u, ""); mimeType = mimeType.slice(0, -1); } if (mimeType.startsWith(";")) { @@ -47820,24 +48221,6 @@ var require_data_url = __commonJS({ } return serialized; } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } function stringPercentDecode(input) { const bytes = encoder.encode(input); return percentDecode(bytes); @@ -47855,7 +48238,8 @@ var require_data_url = __commonJS({ const length = input.length; const output = new Uint8Array(length); let j = 0; - for (let i = 0; i < length; ++i) { + let i = 0; + while (i < length) { const byte = input[i]; if (byte !== 37) { output[j++] = byte; @@ -47865,6 +48249,7 @@ var require_data_url = __commonJS({ output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]); i += 2; } + ++i; } return length === j ? output : output.subarray(0, j); } @@ -47950,26 +48335,6 @@ var require_data_url = __commonJS({ } return mimeType; } - 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 buffer = Buffer.from(data, "base64"); - return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength); - } function collectAnHTTPQuotedString(input, position, extractValue = false) { const positionStart = position.position; let value2 = ""; @@ -48012,7 +48377,7 @@ var require_data_url = __commonJS({ serialization += name; serialization += "="; if (!HTTP_TOKEN_CODEPOINTS.test(value2)) { - value2 = value2.replace(/(\\|")/g, "\\$1"); + value2 = value2.replace(/[\\"]/ug, "\\$&"); value2 = '"' + value2; value2 += '"'; } @@ -48026,39 +48391,6 @@ var require_data_url = __commonJS({ function removeHTTPWhitespace(str, leading = true, trailing = true) { return removeChars(str, leading, trailing, isHTTPWhiteSpace); } - function isASCIIWhitespace(char) { - return char === 13 || char === 10 || char === 9 || char === 12 || char === 32; - } - function removeASCIIWhitespace(str, leading = true, trailing = true) { - return removeChars(str, leading, trailing, isASCIIWhitespace); - } - function removeChars(str, leading, trailing, predicate) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - while (lead < str.length && predicate(str.charCodeAt(lead))) lead++; - } - if (trailing) { - while (trail > 0 && predicate(str.charCodeAt(trail))) trail--; - } - return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1); - } - function isomorphicDecode(input) { - const length = input.length; - if ((2 << 15) - 1 > length) { - return String.fromCharCode.apply(null, input); - } - let result = ""; - let i = 0; - let addition = (2 << 15) - 1; - while (i < length) { - if (i + addition > length) { - addition = length - i; - } - result += String.fromCharCode.apply(null, input.subarray(i, i += addition)); - } - return result; - } function minimizeSupportedMimeType(mimeType) { switch (mimeType.essence) { case "application/ecmascript": @@ -48098,27 +48430,126 @@ var require_data_url = __commonJS({ module.exports = { dataURLProcessor, URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, stringPercentDecode, parseMIMEType, collectAnHTTPQuotedString, serializeAMimeType, - removeChars, removeHTTPWhitespace, minimizeSupportedMimeType, - HTTP_TOKEN_CODEPOINTS, - isomorphicDecode + HTTP_TOKEN_CODEPOINTS }; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/webidl/index.js -var require_webidl2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/webidl/index.js"(exports, module) { +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/runtime-features.js +var require_runtime_features = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/runtime-features.js"(exports, module) { "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 (err) { + if (err.code !== "ERR_UNKNOWN_BUILTIN_MODULE" && err.code !== "ERR_NO_CRYPTO") { + throw err; + } + return false; + } + } + function detectRuntimeFeatureByExportedProperty(moduleName, property) { + const module2 = lazyLoaders[moduleName](); + return typeof module2[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} */ + #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, value2) { + if (features.includes(feature) === false) { + throw new TypeError(`unknown feature: ${feature}`); + } + this.#map.set(feature, value2); + } + /** + * @param {Feature} feature + * @returns {boolean} + */ + #detectRuntimeFeature(feature) { + const result = detectRuntimeFeature(feature); + this.#map.set(feature, result); + return result; + } + }; + var instance = new RuntimeFeatures(); + module.exports.runtimeFeatures = instance; + module.exports.default = instance; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/webidl/index.js +var require_webidl2 = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/webidl/index.js"(exports, module) { + "use strict"; + var assert3 = __require("node:assert"); var { types, inspect } = __require("node:util"); - var { markAsUncloneable } = __require("node:worker_threads"); + var { runtimeFeatures } = require_runtime_features(); var UNDEFINED = 1; var BOOLEAN = 2; var STRING = 3; @@ -48238,8 +48669,8 @@ var require_webidl2 = __commonJS({ return "Object"; } }; - webidl.util.markAsUncloneable = markAsUncloneable || (() => { - }); + webidl.util.markAsUncloneable = runtimeFeatures.has("markAsUncloneable") ? __require("node:worker_threads").markAsUncloneable : () => { + }; webidl.util.ConvertToInt = function(V, bitLength, signedness, flags) { let upperBound; let lowerBound; @@ -48461,6 +48892,27 @@ var require_webidl2 = __commonJS({ webidl.is.BufferSource = function(V) { return types.isArrayBuffer(V) || ArrayBuffer.isView(V) && types.isArrayBuffer(V.buffer); }; + webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) { + const jsBufferSource = bufferSource; + let jsArrayBuffer = jsBufferSource; + let offset = 0; + let length = 0; + if (types.isTypedArray(jsBufferSource) || types.isDataView(jsBufferSource)) { + jsArrayBuffer = jsBufferSource.buffer; + offset = jsBufferSource.byteOffset; + length = jsBufferSource.byteLength; + } else { + assert3(types.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 ""; @@ -48692,20 +49144,21 @@ var require_webidl2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/util.js var require_util11 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/util.js"(exports, module) { "use strict"; var { Transform } = __require("node:stream"); var zlib = __require("node:zlib"); var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants8(); var { getGlobalOrigin } = require_global3(); - var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_data_url(); + var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url(); var { performance: performance8 } = __require("node:perf_hooks"); var { ReadableStreamFrom, isValidHTTPToken, normalizedMethodRecordsBase } = require_util10(); var assert3 = __require("node:assert"); var { isUint8Array } = __require("node:util/types"); var { webidl } = require_webidl2(); + var { isomorphicEncode, collectASequenceOfCodePoints, removeChars } = require_infra(); function responseURL(response) { const urlList = response.urlList; const length = urlList.length; @@ -49025,14 +49478,6 @@ var require_util11 = __commonJS({ function normalizeMethod(method) { return normalizedMethodRecordsBase[method.toLowerCase()] ?? method; } - function serializeJavascriptValueToJSONString(value2) { - const result = JSON.stringify(value2); - if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); - } - assert3(typeof result === "string"); - return result; - } var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); function createIterator(name, kInternalIterator, keyIndex = 0, valueIndex = 1) { class FastIterableIterator { @@ -49180,11 +49625,6 @@ var require_util11 = __commonJS({ } } } - var invalidIsomorphicEncodeValueRegex = /[^\x00-\xFF]/; - function isomorphicEncode(input) { - assert3(!invalidIsomorphicEncodeValueRegex.test(input)); - return input; - } async function readAllBytes(reader, successSteps, failureSteps) { try { const bytes = []; @@ -49397,16 +49837,14 @@ var require_util11 = __commonJS({ } return gettingDecodingSplitting(value2); } - var textDecoder = new TextDecoder(); - function utf8DecodeBytes(buffer) { - if (buffer.length === 0) { - return ""; - } - if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); - } - const output = textDecoder.decode(buffer); - return output; + function hasAuthenticationEntry(request2) { + return false; + } + function includesCredentials(url4) { + return !!(url4.username || url4.password); + } + function isTraversableNavigable(navigable) { + return true; } var EnvironmentSettingsObjectBase = class { get baseUrl() { @@ -49448,7 +49886,6 @@ var require_util11 = __commonJS({ isValidReasonPhrase, sameOrigin, normalizeMethod, - serializeJavascriptValueToJSONString, iteratorMixin, createIterator, isValidHeaderName, @@ -49456,7 +49893,6 @@ var require_util11 = __commonJS({ isErrorLike, fullyReadBody, readableStreamClose, - isomorphicEncode, urlIsLocal, urlHasHttpsScheme, urlIsHttpHttpsScheme, @@ -49466,16 +49902,18 @@ var require_util11 = __commonJS({ createInflate, extractMimeType, getDecodeSplit, - utf8DecodeBytes, environmentSettingsObject, - isOriginIPPotentiallyTrustworthy + isOriginIPPotentiallyTrustworthy, + hasAuthenticationEntry, + includesCredentials, + isTraversableNavigable }; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/formdata.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata.js var require_formdata2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/formdata.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata.js"(exports, module) { "use strict"; var { iteratorMixin } = require_util11(); var { kEnumerableProperty } = require_util10(); @@ -49635,20 +50073,19 @@ var require_formdata2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/formdata-parser.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata-parser.js var require_formdata_parser = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module) { "use strict"; var { bufferToLowerCasedHeaderName } = require_util10(); - var { utf8DecodeBytes } = require_util11(); - var { HTTP_TOKEN_CODEPOINTS, isomorphicDecode } = require_data_url(); + var { HTTP_TOKEN_CODEPOINTS } = require_data_url(); var { makeEntry } = require_formdata2(); var { webidl } = require_webidl2(); var assert3 = __require("node:assert"); - var formDataNameBuffer = Buffer.from('form-data; name="'); - var filenameBuffer = Buffer.from("filename"); + var { isomorphicDecode } = require_infra(); + var { utf8DecodeBytes } = require_encoding2(); var dd = Buffer.from("--"); - var ddcrlf = Buffer.from("--\r\n"); + var decoder = new TextDecoder(); function isAsciiString(chars) { for (let i = 0; i < chars.length; ++i) { if ((chars.charCodeAt(i) & ~127) !== 0) { @@ -49679,23 +50116,18 @@ var require_formdata_parser = __commonJS({ const boundary = Buffer.from(`--${boundaryString}`, "utf8"); const entryList = []; const position = { position: 0 }; - while (input[position.position] === 13 && input[position.position + 1] === 10) { - position.position += 2; - } - let trailing = input.length; - while (input[trailing - 1] === 10 && input[trailing - 2] === 13) { - trailing -= 2; - } - if (trailing !== input.length) { - input = input.subarray(0, trailing); + const firstBoundaryIndex = input.indexOf(boundary); + if (firstBoundaryIndex === -1) { + throw parsingError("no boundary found in multipart body"); } + position.position = firstBoundaryIndex; while (true) { if (input.subarray(position.position, position.position + boundary.length).equals(boundary)) { position.position += boundary.length; } else { throw parsingError("expected a value starting with -- and the boundary"); } - if (position.position === input.length - 2 && bufferStartsWith(input, dd, position) || position.position === input.length - 4 && bufferStartsWith(input, ddcrlf, position)) { + if (bufferStartsWith(input, dd, position)) { return entryList; } if (input[position.position] !== 13 || input[position.position + 1] !== 10) { @@ -49737,6 +50169,78 @@ var require_formdata_parser = __commonJS({ entryList.push(makeEntry(name, value2, filename)); } } + function parseContentDispositionAttribute(input, position) { + if (input[position.position] === 59) { + position.position++; + } + collectASequenceOfBytes( + (char) => char === 32 || char === 9, + input, + position + ); + const attributeName = collectASequenceOfBytes( + (char) => isToken(char) && char !== 61 && char !== 42, + // not = or * + input, + position + ); + if (attributeName.length === 0) { + return null; + } + const attrNameStr = attributeName.toString("ascii").toLowerCase(); + const isExtended = input[position.position] === 42; + if (isExtended) { + position.position++; + } + if (input[position.position] !== 61) { + return null; + } + position.position++; + collectASequenceOfBytes( + (char) => char === 32 || char === 9, + input, + position + ); + let value2; + if (isExtended) { + const headerValue = collectASequenceOfBytes( + (char) => char !== 32 && char !== 13 && char !== 10 && char !== 59, + // not space, CRLF, or ; + input, + position + ); + 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''"); + } + value2 = decodeURIComponent(decoder.decode(headerValue.subarray(7))); + } else if (input[position.position] === 34) { + position.position++; + const quotedValue = collectASequenceOfBytes( + (char) => char !== 10 && char !== 13 && char !== 34, + // not LF, CR, or " + input, + position + ); + if (input[position.position] !== 34) { + throw parsingError("Closing quote not found"); + } + position.position++; + value2 = decoder.decode(quotedValue).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); + } else { + const tokenValue = collectASequenceOfBytes( + (char) => isToken(char) && char !== 59, + // not ; + input, + position + ); + value2 = decoder.decode(tokenValue); + } + return { name: attrNameStr, value: value2 }; + } function parseMultipartFormDataHeaders(input, position) { let name = null; let filename = null; @@ -49770,47 +50274,27 @@ var require_formdata_parser = __commonJS({ switch (bufferToLowerCasedHeaderName(headerName)) { case "content-disposition": { name = filename = null; - if (!bufferStartsWith(input, formDataNameBuffer, position)) { - throw parsingError('expected form-data; name=" for content-disposition header'); + const dispositionType = collectASequenceOfBytes( + (char) => isToken(char), + input, + position + ); + if (dispositionType.toString("ascii").toLowerCase() !== "form-data") { + throw parsingError("expected form-data for content-disposition header"); } - position.position += 17; - name = parseMultipartFormDataName(input, position); - if (input[position.position] === 59 && input[position.position + 1] === 32) { - const at = { position: position.position + 2 }; - if (bufferStartsWith(input, filenameBuffer, at)) { - if (input[at.position + 8] === 42) { - at.position += 10; - collectASequenceOfBytes( - (char) => char === 32 || char === 9, - input, - at - ); - const headerValue = collectASequenceOfBytes( - (char) => char !== 32 && char !== 13 && char !== 10, - // ' ' or CRLF - input, - at - ); - 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''"); - } - filename = decodeURIComponent(new TextDecoder().decode(headerValue.subarray(7))); - position.position = at.position; - } else { - position.position += 11; - collectASequenceOfBytes( - (char) => char === 32 || char === 9, - input, - position - ); - position.position++; - filename = parseMultipartFormDataName(input, position); - } + while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) { + const attribute = parseContentDispositionAttribute(input, position); + if (!attribute) { + break; } + if (attribute.name === "name") { + name = attribute.value; + } else if (attribute.name === "filename") { + filename = attribute.value; + } + } + if (name === null) { + throw parsingError("name attribute is required in content-disposition header"); } break; } @@ -49849,21 +50333,6 @@ var require_formdata_parser = __commonJS({ } } } - function parseMultipartFormDataName(input, position) { - assert3(input[position.position - 1] === 34); - let name = collectASequenceOfBytes( - (char) => char !== 10 && char !== 13 && char !== 34, - input, - position - ); - if (input[position.position] !== 34) { - throw parsingError('expected "'); - } else { - position.position++; - } - name = new TextDecoder().decode(name).replace(/%0A/ig, "\n").replace(/%0D/ig, "\r").replace(/%22/g, '"'); - return name; - } function collectASequenceOfBytes(condition, input, position) { let start = position.position; while (start < input.length && condition(input[start])) { @@ -49896,6 +50365,31 @@ var require_formdata_parser = __commonJS({ 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); + } module.exports = { multipartFormDataParser, validateBoundary @@ -49903,9 +50397,9 @@ var require_formdata_parser = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/promise.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/promise.js var require_promise = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/promise.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/promise.js"(exports, module) { "use strict"; function createDeferredPromise() { let res; @@ -49922,33 +50416,29 @@ var require_promise = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/body.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/body.js var require_body2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/body.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/body.js"(exports, module) { "use strict"; var util2 = require_util10(); var { ReadableStreamFrom, readableStreamClose, fullyReadBody, - extractMimeType, - utf8DecodeBytes + extractMimeType } = require_util11(); var { FormData: FormData2, setFormDataState } = require_formdata2(); var { webidl } = require_webidl2(); var assert3 = __require("node:assert"); var { isErrored, isDisturbed } = __require("node:stream"); - var { isArrayBuffer } = __require("node:util/types"); + var { isUint8Array } = __require("node:util/types"); var { serializeAMimeType } = require_data_url(); var { multipartFormDataParser } = require_formdata_parser(); var { createDeferredPromise } = require_promise(); - var random; - try { - const crypto2 = __require("node:crypto"); - random = (max) => crypto2.randomInt(0, max); - } catch { - random = (max) => Math.floor(Math.random() * max); - } + var { parseJSONFromBytes } = require_infra(); + var { utf8DecodeBytes } = require_encoding2(); + var { runtimeFeatures } = require_runtime_features(); + var random = runtimeFeatures.has("crypto") ? __require("node:crypto").randomInt : (max) => Math.floor(Math.random() * max); var textEncoder = new TextEncoder(); function noop4() { } @@ -49960,20 +50450,19 @@ var require_body2 = __commonJS({ }); function extractBody(object5, keepalive = false) { let stream = null; + let controller = null; if (webidl.is.ReadableStream(object5)) { stream = object5; } else if (webidl.is.Blob(object5)) { stream = object5.stream(); } else { stream = new ReadableStream({ - pull(controller) { - const buffer = typeof source === "string" ? textEncoder.encode(source) : source; - if (buffer.byteLength) { - controller.enqueue(buffer); - } - queueMicrotask(() => readableStreamClose(controller)); + pull() { }, - start() { + start(c) { + controller = c; + }, + cancel() { }, type: "bytes" }); @@ -49990,7 +50479,7 @@ var require_body2 = __commonJS({ source = object5.toString(); type2 = "application/x-www-form-urlencoded;charset=UTF-8"; } else if (webidl.is.BufferSource(object5)) { - source = isArrayBuffer(object5) ? new Uint8Array(object5.slice()) : new Uint8Array(object5.buffer.slice(object5.byteOffset, object5.byteOffset + object5.byteLength)); + source = webidl.util.getCopyOfBytesHeldByBufferSource(object5); } else if (webidl.is.FormData(object5)) { const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; const prefix = `--${boundary}\r @@ -50057,37 +50546,29 @@ Content-Type: ${value2.type || "application/octet-stream"}\r } stream = webidl.is.ReadableStream(object5) ? object5 : ReadableStreamFrom(object5); } - if (typeof source === "string" || util2.isBuffer(source)) { - length = Buffer.byteLength(source); + if (typeof source === "string" || isUint8Array(source)) { + action = () => { + length = typeof source === "string" ? Buffer.byteLength(source) : source.length; + return source; + }; } if (action != null) { - let iterator2; - stream = new ReadableStream({ - async start() { - iterator2 = action(object5)[Symbol.asyncIterator](); - }, - async pull(controller) { - const { value: value2, done } = await iterator2.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - controller.byobRequest?.respond(0); - }); - } else { - if (!isErrored(stream)) { - const buffer = new Uint8Array(value2); - if (buffer.byteLength) { - controller.enqueue(buffer); - } + ; + (async () => { + const result = action(); + const iterator2 = result?.[Symbol.asyncIterator]?.(); + if (iterator2) { + for await (const bytes of iterator2) { + if (isErrored(stream)) break; + if (bytes.length) { + controller.enqueue(new Uint8Array(bytes)); } } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator2.return(); - }, - type: "bytes" - }); + } else if (result?.length && !isErrored(stream)) { + controller.enqueue(typeof result === "string" ? textEncoder.encode(result) : new Uint8Array(result)); + } + queueMicrotask(() => readableStreamClose(controller)); + })(); } const body = { stream, source, length }; return [body, type2]; @@ -50175,13 +50656,10 @@ Content-Type: ${value2.type || "application/octet-stream"}\r } catch (e) { return Promise.reject(e); } - const state = getInternalState(object5); - if (bodyUnusable(state)) { + object5 = getInternalState(object5); + if (bodyUnusable(object5)) { return Promise.reject(new TypeError("Body is unusable: Body has already been read")); } - if (state.aborted) { - return Promise.reject(new DOMException("The operation was aborted.", "AbortError")); - } const promise2 = createDeferredPromise(); const errorSteps = promise2.reject; const successSteps = (data) => { @@ -50191,20 +50669,17 @@ Content-Type: ${value2.type || "application/octet-stream"}\r errorSteps(e); } }; - if (state.body == null) { + if (object5.body == null) { successSteps(Buffer.allocUnsafe(0)); return promise2.promise; } - fullyReadBody(state.body, successSteps, errorSteps); + fullyReadBody(object5.body, successSteps, errorSteps); return promise2.promise; } function bodyUnusable(object5) { const body = object5.body; return body != null && (body.stream.locked || util2.isDisturbed(body.stream)); } - function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); - } function bodyMimeType(requestOrResponse) { const headers = requestOrResponse.headersList; const mimeType = extractMimeType(headers); @@ -50224,9 +50699,9 @@ Content-Type: ${value2.type || "application/octet-stream"}\r } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client-h1.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h1.js var require_client_h1 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var util2 = require_util10(); @@ -50800,8 +51275,12 @@ var require_client_h1 = __commonJS({ return 0; } }; - function onParserTimeout(parser) { - const { socket, timeoutType, client, paused } = parser.deref(); + 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) { assert3(!paused, "cannot be paused while waiting for headers"); @@ -51383,9 +51862,9 @@ ${len.toString(16)}\r } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client-h2.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h2.js var require_client_h2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { pipeline: pipeline2 } = __require("node:stream"); @@ -51394,7 +51873,8 @@ var require_client_h2 = __commonJS({ RequestContentLengthMismatchError, RequestAbortedError, SocketError, - InformationalError + InformationalError, + InvalidArgumentError } = require_errors4(); var { kUrl, @@ -51410,12 +51890,19 @@ var require_client_h2 = __commonJS({ kStrictContentLength, kOnError, kMaxConcurrentStreams, + kPingInterval, kHTTP2Session, + kHTTP2InitialWindowSize, + kHTTP2ConnectionWindowSize, kResume, kSize, kHTTPContext, kClosed, - kBodyTimeout + kBodyTimeout, + kEnableConnectProtocol, + kRemoteSettings, + kHTTP2Stream, + kHTTP2SessionState } = require_symbols6(); var { channels } = require_diagnostics(); var kOpenStreams = Symbol("open streams"); @@ -51434,7 +51921,10 @@ var require_client_h2 = __commonJS({ HTTP2_HEADER_SCHEME, HTTP2_HEADER_CONTENT_LENGTH, HTTP2_HEADER_EXPECT, - HTTP2_HEADER_STATUS + HTTP2_HEADER_STATUS, + HTTP2_HEADER_PROTOCOL, + NGHTTP2_REFUSED_STREAM, + NGHTTP2_CANCEL } } = http2; function parseH2Headers(headers) { @@ -51452,23 +51942,37 @@ var require_client_h2 = __commonJS({ } 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 + enablePush: false, + ...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null } }); + client[kSocket] = socket; session[kOpenStreams] = 0; session[kClient] = client; session[kSocket] = socket; - session[kHTTP2Session] = null; + session[kHTTP2SessionState] = { + ping: { + interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref() + } + }; + session[kEnableConnectProtocol] = false; + session[kRemoteSettings] = false; + if (http2ConnectionWindowSize) { + util2.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize)); + } util2.addListener(session, "error", onHttp2SessionError); util2.addListener(session, "frameError", onHttp2FrameError); util2.addListener(session, "end", onHttp2SessionEnd); util2.addListener(session, "goaway", onHttp2SessionGoAway); util2.addListener(session, "close", onHttp2SessionClose); + util2.addListener(session, "remoteSettings", onHttp2RemoteSettings); session.unref(); client[kHTTP2Session] = session; socket[kHTTP2Session] = session; @@ -51480,12 +51984,23 @@ var require_client_h2 = __commonJS({ return { version: "h2", defaultPipelining: Infinity, + /** + * @param {import('../core/request.js')} request + * @returns {boolean} + */ write(request2) { return writeH2(client, request2); }, + /** + * @returns {void} + */ resume() { resumeH2(client); }, + /** + * @param {Error | null} err + * @param {() => void} callback + */ destroy(err, callback) { if (socket[kClosed]) { queueMicrotask(callback); @@ -51493,10 +52008,26 @@ var require_client_h2 = __commonJS({ socket.destroy(err).on("close", callback); } }, + /** + * @type {boolean} + */ get destroyed() { return socket.destroyed; }, - busy() { + /** + * @param {import('../core/request.js')} request + * @returns {boolean} + */ + busy(request2) { + if (request2 != null) { + if (client[kRunning] > 0) { + if (request2.idempotent === false) return true; + if ((request2.upgrade === "websocket" || request2.method === "CONNECT") && session[kRemoteSettings] === false) return true; + if (util2.bodyLength(request2.body) !== 0 && (util2.isStream(request2.body) || util2.isAsyncIterable(request2.body) || util2.isFormDataLike(request2.body))) return true; + } else { + return (request2.upgrade === "websocket" || request2.method === "CONNECT") && session[kRemoteSettings] === false; + } + } return false; } }; @@ -51513,6 +52044,46 @@ var require_client_h2 = __commonJS({ } } } + 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 err = new InformationalError("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441"); + this[kSocket][kError] = err; + this[kClient][kOnError](err); + 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(err, duration4) { + const client = this[kClient]; + const socket = this[kClient]; + if (err != null) { + const error49 = new InformationalError(`HTTP/2: "PING" errored - type ${err.message}`); + socket[kError] = error49; + client[kOnError](error49); + } else { + client.emit("ping", duration4); + } + } + } function onHttp2SessionError(err) { assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); this[kSocket][kError] = err; @@ -51550,11 +52121,15 @@ var require_client_h2 = __commonJS({ client[kResume](); } function onHttp2SessionClose() { - const { [kClient]: client } = this; + const { [kClient]: client, [kHTTP2SessionState]: state } = this; const { [kSocket]: socket } = client; const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util2.getSocketInfo(socket)); client[kSocket] = null; client[kHTTPContext] = null; + if (state.ping.interval != null) { + clearInterval(state.ping.interval); + state.ping.interval = null; + } if (client.destroyed) { assert3(client[kPending] === 0); const requests = client[kQueue].splice(client[kRunningIdx]); @@ -51596,8 +52171,8 @@ var require_client_h2 = __commonJS({ const session = client[kHTTP2Session]; const { method, path: path3, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request2; let { body } = request2; - if (upgrade) { - util2.errorRequest(client, request2, new Error("Upgrade not supported for H2")); + if (upgrade != null && upgrade !== "websocket") { + util2.errorRequest(client, request2, new InvalidArgumentError(`Custom upgrade "${upgrade}" not supported over HTTP/2`)); return false; } const headers = {}; @@ -51652,20 +52227,50 @@ var require_client_h2 = __commonJS({ if (request2.aborted) { return false; } - if (method === "CONNECT") { + if (upgrade || method === "CONNECT") { session.ref(); - stream = session.request(headers, { endStream: false, signal }); - if (!stream.pending) { - request2.onUpgrade(null, null, stream); - ++session[kOpenStreams]; - client[kQueue][client[kRunningIdx]++] = null; - } else { - stream.once("ready", () => { - request2.onUpgrade(null, null, stream); + if (upgrade === "websocket") { + if (session[kEnableConnectProtocol] === false) { + util2.errorRequest(client, request2, 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] = path3; + if (protocol === "ws:" || protocol === "wss:") { + headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https"; + } else { + headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https"; + } + stream = session.request(headers, { endStream: false, signal }); + stream[kHTTP2Stream] = true; + stream.once("response", (headers2, _flags) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + request2.onUpgrade(statusCode, parseH2Headers(realHeaders), stream); ++session[kOpenStreams]; client[kQueue][client[kRunningIdx]++] = null; }); + stream.on("error", () => { + if (stream.rstCode === NGHTTP2_REFUSED_STREAM || stream.rstCode === NGHTTP2_CANCEL) { + abort(new InformationalError(`HTTP/2: "stream error" received - code ${stream.rstCode}`)); + } + }); + stream.once("close", () => { + session[kOpenStreams] -= 1; + if (session[kOpenStreams] === 0) session.unref(); + }); + stream.setTimeout(requestTimeout); + return true; } + stream = session.request(headers, { endStream: false, signal }); + stream[kHTTP2Stream] = true; + stream.on("response", (headers2) => { + const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; + request2.onUpgrade(statusCode, parseH2Headers(realHeaders), stream); + ++session[kOpenStreams]; + client[kQueue][client[kRunningIdx]++] = null; + }); stream.once("close", () => { session[kOpenStreams] -= 1; if (session[kOpenStreams] === 0) session.unref(); @@ -51690,7 +52295,7 @@ var require_client_h2 = __commonJS({ if (contentLength == null) { contentLength = request2.contentLength; } - if (contentLength === 0 || !expectsPayload) { + if (!expectsPayload) { contentLength = null; } if (shouldSendContentLength(method) && contentLength > 0 && request2.contentLength != null && request2.contentLength !== contentLength) { @@ -51701,7 +52306,7 @@ var require_client_h2 = __commonJS({ process.emitWarning(new RequestContentLengthMismatchError()); } if (contentLength != null) { - assert3(body, "no body must not have content length"); + assert3(body || contentLength === 0, "no body must not have content length"); headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; } session.ref(); @@ -51717,19 +52322,23 @@ var require_client_h2 = __commonJS({ if (expectContinue) { headers[HTTP2_HEADER_EXPECT] = "100-continue"; stream = session.request(headers, { endStream: shouldEndStream, signal }); + stream[kHTTP2Stream] = true; stream.once("continue", writeBodyH2); } else { stream = session.request(headers, { endStream: shouldEndStream, signal }); + stream[kHTTP2Stream] = true; writeBodyH2(); } ++session[kOpenStreams]; stream.setTimeout(requestTimeout); + let responseReceived = false; stream.once("response", (headers2) => { const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; request2.onResponseStarted(); + responseReceived = true; if (request2.aborted) { stream.removeAllListeners("data"); return; @@ -51743,20 +52352,16 @@ var require_client_h2 = __commonJS({ stream.pause(); } }); - stream.once("end", (err) => { + stream.once("end", () => { stream.removeAllListeners("data"); - if (stream.state?.state == null || stream.state.state < 6) { + if (responseReceived) { if (!request2.aborted && !request2.completed) { request2.onComplete({}); } client[kQueue][client[kRunningIdx]++] = null; client[kResume](); } else { - --session[kOpenStreams]; - if (session[kOpenStreams] === 0) { - session.unref(); - } - abort(err ?? new InformationalError("HTTP/2: stream half-closed (remote)")); + abort(new InformationalError("HTTP/2: stream half-closed (remote)")); client[kQueue][client[kRunningIdx]++] = null; client[kPendingIdx] = client[kRunningIdx]; client[kResume](); @@ -51980,9 +52585,9 @@ var require_client_h2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client.js var require_client2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/client.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/client.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var net = __require("node:net"); @@ -52036,7 +52641,10 @@ var require_client2 = __commonJS({ kOnError, kHTTPContext, kMaxConcurrentStreams, - kResume + kHTTP2InitialWindowSize, + kHTTP2ConnectionWindowSize, + kResume, + kPingInterval } = require_symbols6(); var connectH1 = require_client_h1(); var connectH2 = require_client_h2(); @@ -52081,7 +52689,11 @@ var require_client2 = __commonJS({ autoSelectFamilyAttemptTimeout, // h2 maxConcurrentStreams, - allowH2 + allowH2, + useH2c, + initialWindowSize, + connectionWindowSize, + pingInterval } = {}) { if (keepAlive !== void 0) { throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); @@ -52147,12 +52759,25 @@ var require_client2 = __commonJS({ 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(); if (typeof connect2 !== "function") { connect2 = buildConnector({ ...tls, maxCachedSessions, allowH2, + useH2c, socketPath, timeout: connectTimeout, ...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, @@ -52179,8 +52804,11 @@ var require_client2 = __commonJS({ this[kMaxRequests] = maxRequestsPerClient; this[kClosedResolve] = null; this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100; 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; @@ -52214,7 +52842,6 @@ var require_client2 = __commonJS({ this[kHTTPContext]?.busy(null) || this[kSize] >= (getPipelining(this) || 1) || this[kPending] > 0 ); } - /* istanbul ignore: only used for test */ [kConnect](cb) { connect(this); this.once("connect", cb); @@ -52469,9 +53096,9 @@ var require_client2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/fixed-queue.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/fixed-queue.js var require_fixed_queue2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module) { "use strict"; var kSize = 2048; var kMask = kSize - 1; @@ -52540,9 +53167,9 @@ var require_fixed_queue2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/pool-base.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/pool-base.js var require_pool_base2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module) { "use strict"; var { PoolStats } = require_stats(); var DispatcherBase = require_dispatcher_base2(); @@ -52581,11 +53208,14 @@ var require_pool_base2 = __commonJS({ this.emit("drain", origin, [this, ...targets]); } if (this[kClosedResolve] && queue.isEmpty()) { - const closeAll = new Array(this[kClients].length); + const closeAll = []; for (let i = 0; i < this[kClients].length; i++) { - closeAll[i] = this[kClients][i].close(); + const client2 = this[kClients][i]; + if (!client2.destroyed) { + closeAll.push(client2.close()); + } } - Promise.all(closeAll).then(this[kClosedResolve]); + return Promise.all(closeAll).then(this[kClosedResolve]); } } [kOnConnect] = (origin, targets) => { @@ -52640,9 +53270,12 @@ var require_pool_base2 = __commonJS({ } [kClose]() { if (this[kQueue].isEmpty()) { - const closeAll = new Array(this[kClients].length); + const closeAll = []; for (let i = 0; i < this[kClients].length; i++) { - closeAll[i] = this[kClients][i].close(); + const client = this[kClients][i]; + if (!client.destroyed) { + closeAll.push(client.close()); + } } return Promise.all(closeAll); } else { @@ -52710,9 +53343,9 @@ var require_pool_base2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/pool.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/pool.js var require_pool2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/pool.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/pool.js"(exports, module) { "use strict"; var { PoolBase, @@ -52812,9 +53445,9 @@ var require_pool2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/balanced-pool.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/balanced-pool.js var require_balanced_pool2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports, module) { "use strict"; var { BalancedPoolMissingUpstreamError, @@ -52913,6 +53546,10 @@ var require_balanced_pool2 = __commonJS({ } return this; } + getUpstream(upstream) { + const upstreamOrigin = 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); } @@ -52955,9 +53592,126 @@ var require_balanced_pool2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/round-robin-pool.js +var require_round_robin_pool = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports, module) { + "use strict"; + var { + PoolBase, + kClients, + kNeedDrain, + kAddClient, + kGetDispatcher, + kRemoveClient + } = require_pool_base2(); + var Client2 = require_client2(); + var { + InvalidArgumentError + } = require_errors4(); + var util2 = require_util10(); + var { kUrl } = require_symbols6(); + var buildConnector = require_connect2(); + var kOptions = Symbol("options"); + var kConnections = Symbol("connections"); + var kFactory = Symbol("factory"); + var kIndex = Symbol("index"); + function defaultFactory(origin, opts) { + return new Client2(origin, opts); + } + var RoundRobinPool = class extends PoolBase { + constructor(origin, { + connections, + factory = defaultFactory, + connect, + connectTimeout, + tls, + 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({ + ...tls, + maxCachedSessions, + allowH2, + socketPath, + timeout: connectTimeout, + ...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, + ...connect + }); + } + super(); + this[kConnections] = connections || null; + this[kUrl] = util2.parseOrigin(origin); + this[kOptions] = { ...util2.deepClone(options), connect, allowH2, clientTtl }; + 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 target of targets) { + Object.assign(target, { ttl: Date.now() }); + } + } + }); + this.on("connectionError", (origin2, targets, error49) => { + for (const target of targets) { + const idx = this[kClients].indexOf(target); + 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; + } + } + }; + module.exports = RoundRobinPool; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/agent.js var require_agent2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/agent.js"(exports, module) { "use strict"; var { InvalidArgumentError, MaxOriginsReachedError } = require_errors4(); var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols6(); @@ -53033,7 +53787,9 @@ var require_agent2 = __commonJS({ if (connected) result2.count -= 1; if (result2.count <= 0) { this[kClients].delete(key); - result2.dispatcher.close(); + if (!result2.dispatcher.destroyed) { + result2.dispatcher.close(); + } } this[kOrigins].delete(key); } @@ -53086,9 +53842,9 @@ var require_agent2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/proxy-agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/proxy-agent.js var require_proxy_agent2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module) { "use strict"; var { kProxy, kClose, kDestroy, kDispatch } = require_symbols6(); var Agent = require_agent2(); @@ -53097,6 +53853,7 @@ var require_proxy_agent2 = __commonJS({ var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors4(); var buildConnector = require_connect2(); var Client2 = require_client2(); + var { channels } = require_diagnostics(); var kAgent = Symbol("proxy agent"); var kClient = Symbol("proxy client"); var kProxyHeaders = Symbol("proxy headers"); @@ -53214,7 +53971,7 @@ var require_proxy_agent2 = __commonJS({ requestedPath += `:${defaultProtocolPort(opts2.protocol)}`; } try { - const { socket, statusCode } = await this[kClient].connect({ + const connectParams = { origin, port, path: requestedPath, @@ -53225,10 +53982,18 @@ var require_proxy_agent2 = __commonJS({ ...opts2.connections == null || opts2.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", noop4).destroy(); callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); + return; + } + if (channels.proxyConnected.hasSubscribers) { + channels.proxyConnected.publish({ + socket, + connectParams + }); } if (opts2.protocol !== "https:") { callback(null, socket); @@ -53312,9 +54077,9 @@ var require_proxy_agent2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js var require_env_http_proxy_agent = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports, module) { "use strict"; var DispatcherBase = require_dispatcher_base2(); var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols6(); @@ -53393,14 +54158,11 @@ var require_env_http_proxy_agent = __commonJS({ if (entry.port && entry.port !== port) { continue; } - if (!/^[.*]/.test(entry.hostname)) { - if (hostname4 === entry.hostname) { - return false; - } - } else { - if (hostname4.endsWith(entry.hostname.replace(/^\*/, ""))) { - return false; - } + if (hostname4 === entry.hostname) { + return false; + } + if (hostname4.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) { + return false; } } return true; @@ -53416,7 +54178,8 @@ var require_env_http_proxy_agent = __commonJS({ } const parsed2 = entry.match(/^(.+):(\d+)$/); noProxyEntries.push({ - hostname: (parsed2 ? parsed2[1] : entry).toLowerCase(), + // strip leading dot or asterisk with dot + hostname: (parsed2 ? parsed2[1] : entry).replace(/^\*?\./, "").toLowerCase(), port: parsed2 ? Number.parseInt(parsed2[2], 10) : 0 }); } @@ -53437,9 +54200,9 @@ var require_env_http_proxy_agent = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/retry-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/retry-handler.js var require_retry_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/retry-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/retry-handler.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { kRetryHandlerDefaultRetry } = require_symbols6(); @@ -53526,7 +54289,6 @@ var require_retry_handler = __commonJS({ } function shouldRetry(passedErr) { if (passedErr) { - this.headersSent = true; this.headersSent = true; this.handler.onResponseStart?.(controller, statusCode, headers, statusMessage); controller.resume(); @@ -53747,9 +54509,9 @@ var require_retry_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/retry-agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/retry-agent.js var require_retry_agent = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/retry-agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/retry-agent.js"(exports, module) { "use strict"; var Dispatcher = require_dispatcher2(); var RetryHandler = require_retry_handler(); @@ -53782,18 +54544,13 @@ var require_retry_agent = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/h2c-client.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/h2c-client.js var require_h2c_client = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/dispatcher/h2c-client.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/dispatcher/h2c-client.js"(exports, module) { "use strict"; - var { connect } = __require("node:net"); - var { kClose, kDestroy } = require_symbols6(); var { InvalidArgumentError } = require_errors4(); - var util2 = require_util10(); var Client2 = require_client2(); - var DispatcherBase = require_dispatcher_base2(); - var H2CClient = class extends DispatcherBase { - #client = null; + var H2CClient = class extends Client2 { constructor(origin, clientOpts) { if (typeof origin === "string") { origin = new URL(origin); @@ -53803,7 +54560,7 @@ var require_h2c_client = __commonJS({ "h2c-client: Only h2c protocol is supported" ); } - const { connect: connect2, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {}; + const { connect, maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {}; let defaultMaxConcurrentStreams = 100; let defaultPipelining = 100; if (maxConcurrentStreams != null && Number.isInteger(maxConcurrentStreams) && maxConcurrentStreams > 0) { @@ -53817,69 +54574,22 @@ var require_h2c_client = __commonJS({ "h2c-client: pipelining cannot be greater than maxConcurrentStreams" ); } - super(); - this.#client = new Client2(origin, { + super(origin, { ...opts, - connect: this.#buildConnector(connect2), maxConcurrentStreams: defaultMaxConcurrentStreams, pipelining: defaultPipelining, - allowH2: true + allowH2: true, + useH2c: true }); } - #buildConnector(connectOpts) { - return (opts, callback) => { - const timeout = connectOpts?.connectOpts ?? 1e4; - const { hostname: hostname4, port, pathname } = opts; - const socket = connect({ - ...opts, - host: hostname4, - port, - pathname - }); - if (opts.keepAlive == null || opts.keepAlive) { - const keepAliveInitialDelay = opts.keepAliveInitialDelay == null ? 6e4 : opts.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - socket.alpnProtocol = "h2"; - const clearConnectTimeout = util2.setupConnectTimeout( - new WeakRef(socket), - { timeout, hostname: hostname4, port } - ); - socket.setNoDelay(true).once("connect", function() { - queueMicrotask(clearConnectTimeout); - if (callback) { - const cb = callback; - callback = null; - cb(null, this); - } - }).on("error", function(err) { - queueMicrotask(clearConnectTimeout); - if (callback) { - const cb = callback; - callback = null; - cb(err); - } - }); - return socket; - }; - } - dispatch(opts, handler2) { - return this.#client.dispatch(opts, handler2); - } - [kClose]() { - return this.#client.close(); - } - [kDestroy]() { - return this.#client.destroy(); - } }; module.exports = H2CClient; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/readable.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/readable.js var require_readable2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/readable.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/readable.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { Readable } = __require("node:stream"); @@ -54279,9 +54989,9 @@ var require_readable2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-request.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-request.js var require_api_request2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-request.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-request.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { AsyncResource } = __require("node:async_hooks"); @@ -54383,6 +55093,7 @@ var require_api_request2 = __commonJS({ try { this.runInAsyncScope(callback, null, null, { statusCode, + statusText: statusMessage, headers, trailers: this.trailers, opaque, @@ -54456,9 +55167,9 @@ var require_api_request2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/abort-signal.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/abort-signal.js var require_abort_signal2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/abort-signal.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/abort-signal.js"(exports, module) { "use strict"; var { addAbortListener } = require_util10(); var { RequestAbortedError } = require_errors4(); @@ -54508,9 +55219,9 @@ var require_abort_signal2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-stream.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-stream.js var require_api_stream2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-stream.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-stream.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { finished } = __require("node:stream"); @@ -54669,9 +55380,9 @@ var require_api_stream2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-pipeline.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-pipeline.js var require_api_pipeline2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-pipeline.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-pipeline.js"(exports, module) { "use strict"; var { Readable, @@ -54870,14 +55581,15 @@ var require_api_pipeline2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-upgrade.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-upgrade.js var require_api_upgrade2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-upgrade.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-upgrade.js"(exports, module) { "use strict"; var { InvalidArgumentError, SocketError } = require_errors4(); var { AsyncResource } = __require("node:async_hooks"); var assert3 = __require("node:assert"); var util2 = require_util10(); + var { kHTTP2Stream } = require_symbols6(); var { addSignal, removeSignal } = require_abort_signal2(); var UpgradeHandler = class extends AsyncResource { constructor(opts, callback) { @@ -54912,7 +55624,7 @@ var require_api_upgrade2 = __commonJS({ throw new SocketError("bad upgrade", null); } onUpgrade(statusCode, rawHeaders, socket) { - assert3(statusCode === 101); + assert3(socket[kHTTP2Stream] === true ? statusCode === 200 : statusCode === 101); const { callback, opaque, context } = this; removeSignal(this); this.callback = null; @@ -54963,9 +55675,9 @@ var require_api_upgrade2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-connect.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-connect.js var require_api_connect2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/api-connect.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/api-connect.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { AsyncResource } = __require("node:async_hooks"); @@ -55054,9 +55766,9 @@ var require_api_connect2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/index.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/index.js var require_api2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/api/index.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/api/index.js"(exports, module) { "use strict"; module.exports.request = require_api_request2(); module.exports.stream = require_api_stream2(); @@ -55066,9 +55778,9 @@ var require_api2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-errors.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-errors.js var require_mock_errors2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-errors.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-errors.js"(exports, module) { "use strict"; var { UndiciError } = require_errors4(); var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"); @@ -55092,9 +55804,9 @@ var require_mock_errors2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-symbols.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-symbols.js var require_mock_symbols2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-symbols.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-symbols.js"(exports, module) { "use strict"; module.exports = { kAgent: Symbol("agent"), @@ -55128,9 +55840,9 @@ var require_mock_symbols2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-utils.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-utils.js var require_mock_utils2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-utils.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-utils.js"(exports, module) { "use strict"; var { MockNotMatchedError } = require_mock_errors2(); var { @@ -55148,15 +55860,15 @@ var require_mock_utils2 = __commonJS({ } } = __require("node:util"); var { InvalidArgumentError } = require_errors4(); - function matchValue(match2, value2) { - if (typeof match2 === "string") { - return match2 === value2; + function matchValue(match3, value2) { + if (typeof match3 === "string") { + return match3 === value2; } - if (match2 instanceof RegExp) { - return match2.test(value2); + if (match3 instanceof RegExp) { + return match3.test(value2); } - if (typeof match2 === "function") { - return match2(value2) === true; + if (typeof match3 === "function") { + return match3(value2) === true; } return false; } @@ -55373,24 +56085,43 @@ var require_mock_utils2 = __commonJS({ handler2.onError(error49); return true; } + let aborted3 = false; + let timer = null; + function abort(err) { + if (aborted3) { + return; + } + aborted3 = true; + if (timer !== null) { + clearTimeout(timer); + timer = null; + } + handler2.onError(err); + } + handler2.onConnect?.(abort, null); if (typeof delay2 === "number" && delay2 > 0) { - setTimeout(() => { + timer = setTimeout(() => { + timer = null; handleReply(this[kDispatches]); }, delay2); } else { handleReply(this[kDispatches]); } function handleReply(mockDispatches, _data = data) { + if (aborted3) { + return; + } const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; if (isPromise(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); + return body.then((newData) => handleReply(mockDispatches, newData)); + } + if (aborted3) { return; } const responseData = getResponseData2(body); const responseHeaders = generateKeyValues(headers); const responseTrailers = generateKeyValues(trailers); - handler2.onConnect?.((err) => handler2.onError(err), null); handler2.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode)); handler2.onData?.(Buffer.from(responseData)); handler2.onComplete?.(responseTrailers); @@ -55437,6 +56168,15 @@ var require_mock_utils2 = __commonJS({ } 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(opts) { const { agent: agent2, ...mockOptions } = opts; if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") { @@ -55466,14 +56206,15 @@ var require_mock_utils2 = __commonJS({ buildAndValidateMockOptions, getHeaderByName, buildHeadersFromArray, - normalizeSearchParams + normalizeSearchParams, + normalizeOrigin }; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-interceptor.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-interceptor.js var require_mock_interceptor2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module) { "use strict"; var { getResponseData: getResponseData2, buildKey, addMockDispatch } = require_mock_utils2(); var { @@ -55635,11 +56376,11 @@ var require_mock_interceptor2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-client.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-client.js var require_mock_client2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-client.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-client.js"(exports, module) { "use strict"; - var { promisify } = __require("node:util"); + var { promisify: promisify2 } = __require("node:util"); var Client2 = require_client2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -55687,7 +56428,7 @@ var require_mock_client2 = __commonJS({ this[kDispatches] = []; } async [kClose]() { - await promisify(this[kOriginalClose])(); + await promisify2(this[kOriginalClose])(); this[kConnected] = 0; this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); } @@ -55696,9 +56437,9 @@ var require_mock_client2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-call-history.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-call-history.js var require_mock_call_history = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-call-history.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-call-history.js"(exports, module) { "use strict"; var { kMockCallHistoryAddLog } = require_mock_symbols2(); var { InvalidArgumentError } = require_errors4(); @@ -55896,11 +56637,11 @@ var require_mock_call_history = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-pool.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-pool.js var require_mock_pool2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-pool.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-pool.js"(exports, module) { "use strict"; - var { promisify } = __require("node:util"); + var { promisify: promisify2 } = __require("node:util"); var Pool = require_pool2(); var { buildMockDispatch } = require_mock_utils2(); var { @@ -55948,7 +56689,7 @@ var require_mock_pool2 = __commonJS({ this[kDispatches] = []; } async [kClose]() { - await promisify(this[kOriginalClose])(); + await promisify2(this[kOriginalClose])(); this[kConnected] = 0; this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); } @@ -55957,9 +56698,9 @@ var require_mock_pool2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js var require_pending_interceptors_formatter2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module) { "use strict"; var { Transform } = __require("node:stream"); var { Console } = __require("node:console"); @@ -55998,9 +56739,9 @@ var require_pending_interceptors_formatter2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-agent.js var require_mock_agent2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/mock-agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/mock-agent.js"(exports, module) { "use strict"; var { kClients } = require_symbols6(); var Agent = require_agent2(); @@ -56024,7 +56765,7 @@ var require_mock_agent2 = __commonJS({ } = require_mock_symbols2(); var MockClient = require_mock_client2(); var MockPool = require_mock_pool2(); - var { matchValue, normalizeSearchParams, buildAndValidateMockOptions } = require_mock_utils2(); + var { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils2(); var { InvalidArgumentError, UndiciError } = require_errors4(); var Dispatcher = require_dispatcher2(); var PendingInterceptorsFormatter = require_pending_interceptors_formatter2(); @@ -56050,7 +56791,8 @@ var require_mock_agent2 = __commonJS({ } } get(origin) { - const originKey = this[kIgnoreTrailingSlash] ? origin.replace(/\/$/, "") : origin; + const normalizedOrigin = normalizeOrigin(origin); + const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin; let dispatcher = this[kMockAgentGet](originKey); if (!dispatcher) { dispatcher = this[kFactory](originKey); @@ -56059,6 +56801,7 @@ var require_mock_agent2 = __commonJS({ return dispatcher; } dispatch(opts, handler2) { + opts.origin = normalizeOrigin(opts.origin); this.get(opts.origin); this[kMockAgentAddCallHistoryLog](opts); const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters]; @@ -56180,11 +56923,12 @@ ${pendingInterceptorsFormatter.format(pending)}`.trim() } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-utils.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-utils.js var require_snapshot_utils = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-utils.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-utils.js"(exports, module) { "use strict"; var { InvalidArgumentError } = require_errors4(); + var { runtimeFeatures } = require_runtime_features(); function createHeaderFilters(matchOptions = {}) { const { ignoreHeaders = [], excludeHeaders = [], matchHeaders = [], caseSensitive = false } = matchOptions; return { @@ -56193,11 +56937,7 @@ var require_snapshot_utils = __commonJS({ match: new Set(matchHeaders.map((header) => caseSensitive ? header : header.toLowerCase())) }; } - var crypto2; - try { - crypto2 = __require("node:crypto"); - } catch { - } + var crypto2 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null; var hashId = crypto2?.hash ? (value2) => crypto2.hash("sha256", value2, "base64url") : (value2) => Buffer.from(value2).toString("base64url"); function isUndiciHeaders(headers) { return Array.isArray(headers) && (headers.length & 1) === 0; @@ -56269,9 +57009,9 @@ var require_snapshot_utils = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-recorder.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-recorder.js var require_snapshot_recorder = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-recorder.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-recorder.js"(exports, module) { "use strict"; var { writeFile: writeFile2, readFile, mkdir } = __require("node:fs/promises"); var { dirname: dirname4, resolve: resolve3 } = __require("node:path"); @@ -56297,13 +57037,13 @@ var require_snapshot_recorder = __commonJS({ caseSensitive = false } = matchOptions; const filtered = {}; - const { ignore, exclude, match: match2 } = headerFilters; + const { ignore, exclude, match: match3 } = headerFilters; for (const [key, value2] of Object.entries(headers)) { const headerKey = caseSensitive ? key : key.toLowerCase(); if (exclude.has(headerKey)) continue; if (ignore.has(headerKey)) continue; - if (match2.size !== 0) { - if (!match2.has(headerKey)) continue; + if (match3.size !== 0) { + if (!match3.has(headerKey)) continue; } filtered[headerKey] = value2; } @@ -56396,8 +57136,7 @@ var require_snapshot_recorder = __commonJS({ if (!this.shouldRecord(requestOpts)) { return; } - const url4 = new URL(requestOpts.path, requestOpts.origin).toString(); - if (this.#isUrlExcluded(url4)) { + if (this.isUrlExcluded(requestOpts)) { return; } const request2 = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions); @@ -56430,6 +57169,15 @@ var require_snapshot_recorder = __commonJS({ 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 url4 = new URL(requestOpts.path, requestOpts.origin).toString(); + return this.#isUrlExcluded(url4); + } /** * Finds a matching snapshot for the given request * Returns the appropriate response based on call count for sequential responses @@ -56441,8 +57189,7 @@ var require_snapshot_recorder = __commonJS({ if (!this.shouldPlayback(requestOpts)) { return void 0; } - const url4 = new URL(requestOpts.path, requestOpts.origin).toString(); - if (this.#isUrlExcluded(url4)) { + if (this.isUrlExcluded(requestOpts)) { return void 0; } const request2 = formatRequestKey(requestOpts, this.#headerFilters, this.matchOptions); @@ -56638,9 +57385,9 @@ var require_snapshot_recorder = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-agent.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-agent.js var require_snapshot_agent = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/mock/snapshot-agent.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-agent.js"(exports, module) { "use strict"; var Agent = require_agent2(); var MockAgent = require_mock_agent2(); @@ -56692,7 +57439,7 @@ var require_snapshot_agent = __commonJS({ excludeUrls: opts.excludeUrls }); this[kSnapshotLoaded] = false; - if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update") { + if (this[kSnapshotMode] === "record" || this[kSnapshotMode] === "update" || this[kSnapshotMode] === "playback" && opts.excludeUrls && opts.excludeUrls.length > 0) { this[kRealAgent] = new Agent(opts); } if ((this[kSnapshotMode] === "playback" || this[kSnapshotMode] === "update") && this[kSnapshotPath]) { @@ -56703,6 +57450,9 @@ var require_snapshot_agent = __commonJS({ dispatch(opts, handler2) { handler2 = WrapHandler.wrap(handler2); const mode = this[kSnapshotMode]; + if (this[kSnapshotRecorder].isUrlExcluded(opts)) { + return this[kRealAgent].dispatch(opts, handler2); + } if (mode === "playback" || mode === "update") { if (!this[kSnapshotLoaded]) { return this.#asyncDispatch(opts, handler2); @@ -56766,11 +57516,7 @@ var require_snapshot_agent = __commonJS({ headers: responseData.headers, body: responseBody, trailers: responseData.trailers - }).then(() => { - handler2.onResponseEnd(controller, trailers); - }).catch((error49) => { - handler2.onResponseError(controller, error49); - }); + }).then(() => handler2.onResponseEnd(controller, trailers)).catch((error49) => handler2.onResponseError(controller, error49)); } }; const agent2 = this[kRealAgent]; @@ -56926,9 +57672,9 @@ var require_snapshot_agent = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/global.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/global.js var require_global4 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/global.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/global.js"(exports, module) { "use strict"; var globalDispatcher = Symbol.for("undici.globalDispatcher.1"); var { InvalidArgumentError } = require_errors4(); @@ -56973,9 +57719,9 @@ var require_global4 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/decorator-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/decorator-handler.js var require_decorator_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/decorator-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/decorator-handler.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var WrapHandler = require_wrap_handler(); @@ -57029,9 +57775,9 @@ var require_decorator_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/redirect-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/redirect-handler.js var require_redirect_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/redirect-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/redirect-handler.js"(exports, module) { "use strict"; var util2 = require_util10(); var { kBodyUsed } = require_symbols6(); @@ -57189,9 +57935,9 @@ var require_redirect_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/redirect.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/redirect.js var require_redirect = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/redirect.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/redirect.js"(exports, module) { "use strict"; var RedirectHandler = require_redirect_handler(); function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) { @@ -57211,9 +57957,9 @@ var require_redirect = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/response-error.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/response-error.js var require_response_error = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/response-error.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/response-error.js"(exports, module) { "use strict"; var DecoratorHandler = require_decorator_handler(); var { ResponseError } = require_errors4(); @@ -57293,9 +58039,9 @@ var require_response_error = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/retry.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/retry.js var require_retry = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/retry.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/retry.js"(exports, module) { "use strict"; var RetryHandler = require_retry_handler(); module.exports = (globalOpts) => { @@ -57317,9 +58063,9 @@ var require_retry = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/dump.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/dump.js var require_dump = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/dump.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/dump.js"(exports, module) { "use strict"; var { InvalidArgumentError, RequestAbortedError } = require_errors4(); var DecoratorHandler = require_decorator_handler(); @@ -57403,23 +58149,46 @@ var require_dump = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/dns.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/dns.js var require_dns = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/dns.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/dns.js"(exports, module) { "use strict"; var { isIP } = __require("node:net"); var { lookup: lookup2 } = __require("node:dns"); var DecoratorHandler = require_decorator_handler(); var { InvalidArgumentError, InformationalError } = require_errors4(); var maxInt = Math.pow(2, 31) - 1; + var DNSStorage = class { + #maxItems = 0; + #records = /* @__PURE__ */ new Map(); + constructor(opts) { + this.#maxItems = opts.maxItems; + } + get size() { + return this.#records.size; + } + get(hostname4) { + return this.#records.get(hostname4) ?? null; + } + set(hostname4, records) { + this.#records.set(hostname4, records); + } + delete(hostname4) { + this.#records.delete(hostname4); + } + // Delegate to storage decide can we do more lookups or not + full() { + return this.size >= this.#maxItems; + } + }; var DNSInstance = class { #maxTTL = 0; #maxItems = 0; - #records = /* @__PURE__ */ new Map(); dualStack = true; affinity = null; lookup = null; pick = null; + storage = null; constructor(opts) { this.#maxTTL = opts.maxTTL; this.#maxItems = opts.maxItems; @@ -57427,13 +58196,11 @@ var require_dns = __commonJS({ this.affinity = opts.affinity; this.lookup = opts.lookup ?? this.#defaultLookup; this.pick = opts.pick ?? this.#defaultPick; - } - get full() { - return this.#records.size === this.#maxItems; + this.storage = opts.storage ?? new DNSStorage(opts); } runLookup(origin, opts, cb) { - const ips = this.#records.get(origin.hostname); - if (ips == null && this.full) { + const ips = this.storage.get(origin.hostname); + if (ips == null && this.storage.full()) { cb(null, origin); return; } @@ -57453,7 +58220,7 @@ var require_dns = __commonJS({ return; } this.setRecords(origin, addresses); - const records = this.#records.get(origin.hostname); + const records = this.storage.get(origin.hostname); const ip2 = this.pick( origin, records, @@ -57479,7 +58246,7 @@ var require_dns = __commonJS({ newOpts.affinity ); if (ip2 == null) { - this.#records.delete(origin.hostname); + this.storage.delete(origin.hostname); this.runLookup(origin, opts, cb); return; } @@ -57559,7 +58326,7 @@ var require_dns = __commonJS({ return ip2; } pickFamily(origin, ipFamily) { - const records = this.#records.get(origin.hostname)?.records; + const records = this.storage.get(origin.hostname)?.records; if (!records) { return null; } @@ -57585,10 +58352,12 @@ var require_dns = __commonJS({ setRecords(origin, addresses) { const timestamp = Date.now(); const records = { records: { 4: null, 6: null } }; + let minTTL = this.#maxTTL; for (const record3 of addresses) { record3.timestamp = timestamp; if (typeof record3.ttl === "number") { record3.ttl = Math.min(record3.ttl, this.#maxTTL); + minTTL = Math.min(minTTL, record3.ttl); } else { record3.ttl = this.#maxTTL; } @@ -57596,10 +58365,10 @@ var require_dns = __commonJS({ familyRecords.ips.push(record3); records.records[record3.family] = familyRecords; } - this.#records.set(origin.hostname, records); + this.storage.set(origin.hostname, records, { ttl: minTTL }); } deleteRecords(origin) { - this.#records.delete(origin.hostname); + this.storage.delete(origin.hostname); } getHandler(meta3, opts) { return new DNSDispatchHandler(this, meta3, opts); @@ -57686,6 +58455,9 @@ var require_dns = __commonJS({ 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) { @@ -57700,7 +58472,8 @@ var require_dns = __commonJS({ pick: interceptorOpts?.pick ?? null, dualStack, affinity, - maxItems: interceptorOpts?.maxItems ?? Infinity + maxItems: interceptorOpts?.maxItems ?? Infinity, + storage: interceptorOpts?.storage }; const instance = new DNSInstance(opts); return (dispatch) => { @@ -57738,9 +58511,9 @@ var require_dns = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/cache.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/cache.js var require_cache2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/cache.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/cache.js"(exports, module) { "use strict"; var { safeHTTPMethods, @@ -57977,6 +58750,20 @@ var require_cache2 = __commonJS({ } } } + function makeDeduplicationKey(cacheKey, excludeHeaders) { + let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}`; + if (cacheKey.headers) { + const sortedHeaders = Object.keys(cacheKey.headers).sort(); + for (const header of sortedHeaders) { + if (excludeHeaders?.has(header.toLowerCase())) { + continue; + } + const value2 = cacheKey.headers[header]; + key += `:${header}=${Array.isArray(value2) ? value2.join(",") : value2}`; + } + } + return key; + } module.exports = { makeCacheKey, normalizeHeaders, @@ -57986,14 +58773,15 @@ var require_cache2 = __commonJS({ parseVaryHeader, isEtagUsable, assertCacheMethods, - assertCacheStore + assertCacheStore, + makeDeduplicationKey }; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/date.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/date.js var require_date = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/util/date.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/util/date.js"(exports, module) { "use strict"; function parseHttpDate(date5) { switch (date5[3]) { @@ -58487,9 +59275,9 @@ var require_date = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/cache-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/cache-handler.js var require_cache_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/cache-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/cache-handler.js"(exports, module) { "use strict"; var util2 = require_util10(); var { @@ -58515,8 +59303,7 @@ var require_cache_handler = __commonJS({ 501 ]; var NOT_UNDERSTOOD_STATUS_CODES = [ - 206, - 304 + 206 ]; var MAX_RESPONSE_AGE = 2147483647e3; var CacheHandler = class { @@ -58577,6 +59364,7 @@ var require_cache_handler = __commonJS({ resHeaders, statusMessage ); + const handler2 = this; if (!util2.safeHTTPMethods.includes(this.#cacheKey.method) && statusCode >= 200 && statusCode <= 399) { try { this.#store.delete(this.#cacheKey)?.catch?.(noop4); @@ -58627,24 +59415,87 @@ var require_cache_handler = __commonJS({ staleAt: absoluteStaleAt, deleteAt }; - if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) { - value2.etag = resHeaders.etag; - } - this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value2); - if (!this.#writeStream) { - return downstreamOnHeaders(); - } - const handler2 = this; - this.#writeStream.on("drain", () => controller.resume()).on("error", function() { - handler2.#writeStream = void 0; - handler2.#store.delete(handler2.#cacheKey); - }).on("close", function() { - if (handler2.#writeStream === this) { - handler2.#writeStream = void 0; + if (statusCode === 304) { + const handle304 = (cachedValue) => { + if (!cachedValue) { + return downstreamOnHeaders(); + } + value2.statusCode = cachedValue.statusCode; + value2.statusMessage = cachedValue.statusMessage; + value2.etag = cachedValue.etag; + value2.headers = { ...cachedValue.headers, ...strippedHeaders }; + downstreamOnHeaders(); + this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value2); + 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() { + handler2.#writeStream = void 0; + handler2.#store.delete(handler2.#cacheKey); + }).on("drain", () => { + streamCachedBody(); + }).on("close", function() { + if (handler2.#writeStream === this) { + handler2.#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() { + handler2.#writeStream = void 0; + handler2.#store.delete(handler2.#cacheKey); + }).on("close", function() { + if (handler2.#writeStream === this) { + handler2.#writeStream = void 0; + } + }); + } + }; + const result = this.#store.get(this.#cacheKey); + if (result && typeof result.then === "function") { + result.then(handle304); + } else { + handle304(result); } - controller.resume(); - }); - return downstreamOnHeaders(); + } else { + if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) { + value2.etag = resHeaders.etag; + } + this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value2); + if (!this.#writeStream) { + return downstreamOnHeaders(); + } + this.#writeStream.on("drain", () => controller.resume()).on("error", function() { + handler2.#writeStream = void 0; + handler2.#store.delete(handler2.#cacheKey); + }).on("close", function() { + if (handler2.#writeStream === this) { + handler2.#writeStream = void 0; + } + controller.resume(); + }); + downstreamOnHeaders(); + } } onResponseData(controller, chunk) { if (this.#writeStream?.write(chunk) === false) { @@ -58796,9 +59647,9 @@ var require_cache_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/cache/memory-cache-store.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/cache/memory-cache-store.js var require_memory_cache_store = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/cache/memory-cache-store.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/cache/memory-cache-store.js"(exports, module) { "use strict"; var { Writable } = __require("node:stream"); var { EventEmitter: EventEmitter2 } = __require("node:events"); @@ -58973,9 +59824,9 @@ var require_memory_cache_store = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/cache-revalidation-handler.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/cache-revalidation-handler.js var require_cache_revalidation_handler = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var CacheRevalidationHandler = class { @@ -59060,9 +59911,9 @@ var require_cache_revalidation_handler = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/cache.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/cache.js var require_cache3 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/cache.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/cache.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { Readable } = __require("node:stream"); @@ -59072,13 +59923,33 @@ var require_cache3 = __commonJS({ var CacheRevalidationHandler = require_cache_revalidation_handler(); var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache2(); var { AbortError: AbortError2 } = require_errors4(); - function needsRevalidation(result, cacheControlDirectives) { + 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 i = 0; i < origins.length; i++) { + const origin = origins[i]; + if (typeof origin !== "string" && !(origin instanceof RegExp)) { + throw new TypeError(`expected ${name}[${i}] to be a string or RegExp, got ${typeof origin}`); + } + } + } + var nop = () => { + }; + function needsRevalidation(result, cacheControlDirectives, { headers = {} }) { if (cacheControlDirectives?.["no-cache"]) { return true; } if (result.cacheControlDirectives?.["no-cache"] && !Array.isArray(result.cacheControlDirectives["no-cache"])) { return true; } + if (headers["if-modified-since"] || headers["if-none-match"]) { + return true; + } + return false; + } + function isStale(result, cacheControlDirectives) { const now = Date.now(); if (now > result.staleAt) { if (cacheControlDirectives?.["max-stale"]) { @@ -59116,8 +59987,7 @@ var require_cache3 = __commonJS({ } } if (typeof handler2.onHeaders === "function") { - handler2.onHeaders(504, [], () => { - }, "Gateway Timeout"); + handler2.onHeaders(504, [], nop, "Gateway Timeout"); if (aborted3) { return; } @@ -59134,7 +60004,7 @@ var require_cache3 = __commonJS({ } return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler2)); } - function sendCachedValue(handler2, opts, result, age, context, isStale) { + function sendCachedValue(handler2, opts, result, age, context, isStale2) { const stream = util2.isStream(result.body) ? result.body : Readable.from(result.body ?? []); assert3(!stream.destroyed, "stream should not be destroyed"); assert3(!stream.readableDidRead, "stream should not be readableDidRead"); @@ -59176,7 +60046,7 @@ var require_cache3 = __commonJS({ return; } const headers = { ...result.headers, age: String(age) }; - if (isStale) { + if (isStale2) { headers.warning = '110 - "response is stale"'; } handler2.onResponseStart?.(controller, result.statusCode, headers, result.statusMessage); @@ -59200,14 +60070,16 @@ var require_cache3 = __commonJS({ if (reqCacheControl?.["max-age"] && age >= reqCacheControl["max-age"]) { return dispatch(opts, handler2); } - if (needsRevalidation(result, reqCacheControl)) { + const stale = isStale(result, reqCacheControl); + const revalidate = needsRevalidation(result, reqCacheControl, opts); + if (stale || revalidate) { if (util2.isStream(opts.body) && util2.bodyLength(opts.body) !== 0) { return dispatch(opts, new CacheHandler(globalOpts, cacheKey, handler2)); } - if (withinStaleWhileRevalidateWindow(result)) { + if (!revalidate && withinStaleWhileRevalidateWindow(result)) { sendCachedValue(handler2, opts, result, age, null, true); queueMicrotask(() => { - let headers2 = { + const headers2 = { ...opts.headers, "if-modified-since": new Date(result.cachedAt).toUTCString() }; @@ -59215,10 +60087,11 @@ var require_cache3 = __commonJS({ headers2["if-none-match"] = result.etag; } if (result.vary) { - headers2 = { - ...headers2, - ...result.vary - }; + for (const key in result.vary) { + if (result.vary[key] != null) { + headers2[key] = result.vary[key]; + } + } } dispatch( { @@ -59249,7 +60122,7 @@ var require_cache3 = __commonJS({ if (staleIfErrorExpiry) { withinStaleIfErrorThreshold = now < result.staleAt + staleIfErrorExpiry * 1e3; } - let headers = { + const headers = { ...opts.headers, "if-modified-since": new Date(result.cachedAt).toUTCString() }; @@ -59257,10 +60130,11 @@ var require_cache3 = __commonJS({ headers["if-none-match"] = result.etag; } if (result.vary) { - headers = { - ...headers, - ...result.vary - }; + for (const key in result.vary) { + if (result.vary[key] != null) { + headers[key] = result.vary[key]; + } + } } return dispatch( { @@ -59270,10 +60144,9 @@ var require_cache3 = __commonJS({ new CacheRevalidationHandler( (success2, context) => { if (success2) { - sendCachedValue(handler2, opts, result, age, context, true); + sendCachedValue(handler2, opts, result, age, context, stale); } else if (util2.isStream(result.body)) { - result.body.on("error", () => { - }).destroy(); + result.body.on("error", nop).destroy(); } }, new CacheHandler(globalOpts, cacheKey, handler2), @@ -59282,8 +60155,7 @@ var require_cache3 = __commonJS({ ); } if (util2.isStream(opts.body)) { - opts.body.on("error", () => { - }).destroy(); + opts.body.on("error", nop).destroy(); } sendCachedValue(handler2, opts, result, age, null, false); } @@ -59292,13 +60164,15 @@ var require_cache3 = __commonJS({ store = new MemoryCacheStore(), methods = ["GET"], cacheByDefault = void 0, - type: type2 = "shared" + type: type2 = "shared", + origins = void 0 } = opts; if (typeof opts !== "object" || opts === null) { throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`); } 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}`); } @@ -59317,6 +60191,25 @@ var require_cache3 = __commonJS({ if (!opts2.origin || safeMethodsToNotCache.includes(opts2.method)) { return dispatch(opts2, handler2); } + if (origins !== void 0) { + const requestOrigin = opts2.origin.toString().toLowerCase(); + let isAllowed = false; + for (let i = 0; i < origins.length; i++) { + const allowed = origins[i]; + if (typeof allowed === "string") { + if (allowed.toLowerCase() === requestOrigin) { + isAllowed = true; + break; + } + } else if (allowed.test(requestOrigin)) { + isAllowed = true; + break; + } + } + if (!isAllowed) { + return dispatch(opts2, handler2); + } + } opts2 = { ...opts2, headers: normalizeHeaders(opts2) @@ -59328,19 +60221,17 @@ var require_cache3 = __commonJS({ const cacheKey = makeCacheKey(opts2); const result = store.get(cacheKey); if (result && typeof result.then === "function") { - result.then((result2) => { - handleResult2( - dispatch, - globalOpts, - cacheKey, - handler2, - opts2, - reqCacheControl, - result2 - ); - }); + return result.then((result2) => handleResult2( + dispatch, + globalOpts, + cacheKey, + handler2, + opts2, + reqCacheControl, + result2 + )); } else { - handleResult2( + return handleResult2( dispatch, globalOpts, cacheKey, @@ -59350,20 +60241,20 @@ var require_cache3 = __commonJS({ result ); } - return true; }; }; }; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/decompress.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/decompress.js var require_decompress = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/interceptor/decompress.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/decompress.js"(exports, module) { "use strict"; var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib"); var { pipeline: pipeline2 } = __require("node:stream"); var DecoratorHandler = require_decorator_handler(); + var { runtimeFeatures } = require_runtime_features(); var supportedEncodings = { gzip: createGunzip, "x-gzip": createGunzip, @@ -59371,7 +60262,7 @@ var require_decompress = __commonJS({ deflate: createInflate, compress: createInflate, "x-compress": createInflate, - ...createZstdDecompress ? { zstd: createZstdDecompress } : {} + ...runtimeFeatures.has("zstd") ? { zstd: createZstdDecompress } : {} }; var defaultSkipStatusCodes = ( /** @type {const} */ @@ -59384,8 +60275,6 @@ var require_decompress = __commonJS({ var DecompressHandler = class extends DecoratorHandler { /** @type {Transform[]} */ #decompressors = []; - /** @type {NodeJS.WritableStream&NodeJS.ReadableStream|null} */ - #pipelineStream; /** @type {Readonly} */ #skipStatusCodes; /** @type {boolean} */ @@ -59412,9 +60301,14 @@ var require_decompress = __commonJS({ * * @param {string} encodings - Comma-separated list of content encodings * @returns {Array} - 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 i = parts.length - 1; i >= 0; i--) { const encoding = parts[i].trim(); @@ -59467,7 +60361,7 @@ var require_decompress = __commonJS({ #setupMultipleDecompressors(controller) { const lastDecompressor = this.#decompressors[this.#decompressors.length - 1]; this.#setupDecompressorEvents(lastDecompressor, controller); - this.#pipelineStream = pipeline2(this.#decompressors, (err) => { + pipeline2(this.#decompressors, (err) => { if (err) { super.onResponseError(controller, err); return; @@ -59481,7 +60375,6 @@ var require_decompress = __commonJS({ */ #cleanupDecompressors() { this.#decompressors.length = 0; - this.#pipelineStream = null; } /** * @param {Controller} controller @@ -59507,7 +60400,7 @@ var require_decompress = __commonJS({ } else { this.#setupMultipleDecompressors(controller); } - super.onResponseStart(controller, statusCode, newHeaders, statusMessage); + return super.onResponseStart(controller, statusCode, newHeaders, statusMessage); } /** * @param {Controller} controller @@ -59568,9 +60461,283 @@ var require_decompress = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/cache/sqlite-cache-store.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/deduplication-handler.js +var require_deduplication_handler = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/handler/deduplication-handler.js"(exports, module) { + "use strict"; + var DeduplicationHandler = class { + /** + * @type {DispatchHandler} + */ + #primaryHandler; + /** + * @type {DispatchHandler[]} + */ + #waitingHandlers = []; + /** + * @type {Buffer[]} + */ + #chunks = []; + /** + * @type {number} + */ + #statusCode = 0; + /** + * @type {Record} + */ + #headers = {}; + /** + * @type {string} + */ + #statusMessage = ""; + /** + * @type {boolean} + */ + #aborted = 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 + */ + constructor(primaryHandler, onComplete) { + this.#primaryHandler = primaryHandler; + this.#onComplete = onComplete; + } + /** + * Add a waiting handler that will receive the buffered response + * @param {DispatchHandler} handler + */ + addWaitingHandler(handler2) { + this.#waitingHandlers.push(handler2); + } + /** + * @param {() => void} abort + * @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} headers + * @param {string} statusMessage + */ + onResponseStart(controller, statusCode, headers, statusMessage) { + this.#statusCode = statusCode; + this.#headers = headers; + this.#statusMessage = statusMessage; + this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage); + } + /** + * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller + * @param {Buffer} chunk + */ + onResponseData(controller, chunk) { + this.#chunks.push(Buffer.from(chunk)); + this.#primaryHandler.onResponseData?.(controller, chunk); + } + /** + * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller + * @param {object} trailers + */ + onResponseEnd(controller, trailers) { + this.#primaryHandler.onResponseEnd?.(controller, trailers); + this.#notifyWaitingHandlers(); + this.#onComplete?.(); + } + /** + * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller + * @param {Error} err + */ + onResponseError(controller, err) { + this.#aborted = true; + this.#primaryHandler.onResponseError?.(controller, err); + this.#notifyWaitingHandlersError(err); + this.#onComplete?.(); + } + /** + * Notify all waiting handlers with the buffered response + */ + #notifyWaitingHandlers() { + const body = Buffer.concat(this.#chunks); + for (const handler2 of this.#waitingHandlers) { + const waitingController = { + resume() { + }, + pause() { + }, + get paused() { + return false; + }, + get aborted() { + return false; + }, + get reason() { + return null; + }, + abort() { + } + }; + try { + handler2.onRequestStart?.(waitingController, null); + if (waitingController.aborted) { + continue; + } + handler2.onResponseStart?.( + waitingController, + this.#statusCode, + this.#headers, + this.#statusMessage + ); + if (waitingController.aborted) { + continue; + } + if (body.length > 0) { + handler2.onResponseData?.(waitingController, body); + } + handler2.onResponseEnd?.(waitingController, {}); + } catch { + } + } + this.#waitingHandlers = []; + this.#chunks = []; + } + /** + * Notify all waiting handlers of an error + * @param {Error} err + */ + #notifyWaitingHandlersError(err) { + for (const handler2 of this.#waitingHandlers) { + const waitingController = { + resume() { + }, + pause() { + }, + get paused() { + return false; + }, + get aborted() { + return true; + }, + get reason() { + return err; + }, + abort() { + } + }; + try { + handler2.onRequestStart?.(waitingController, null); + handler2.onResponseError?.(waitingController, err); + } catch { + } + } + this.#waitingHandlers = []; + this.#chunks = []; + } + }; + module.exports = DeduplicationHandler; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/deduplicate.js +var require_deduplicate = __commonJS({ + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/interceptor/deduplicate.js"(exports, module) { + "use strict"; + var diagnosticsChannel = __require("node:diagnostics_channel"); + var util2 = require_util10(); + var DeduplicationHandler = require_deduplication_handler(); + var { normalizeHeaders, makeCacheKey, makeDeduplicationKey } = require_cache2(); + var pendingRequestsChannel = diagnosticsChannel.channel("undici:request:pending-requests"); + module.exports = (opts = {}) => { + const { + methods = ["GET"], + skipHeaderNames = [], + excludeHeaderNames = [] + } = opts; + if (typeof opts !== "object" || opts === null) { + throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`); + } + if (!Array.isArray(methods)) { + throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`); + } + for (const method of methods) { + if (!util2.safeHTTPMethods.includes(method)) { + throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`); + } + } + 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}`); + } + 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 (opts2, handler2) => { + if (!opts2.origin || methods.includes(opts2.method) === false) { + return dispatch(opts2, handler2); + } + opts2 = { + ...opts2, + headers: normalizeHeaders(opts2) + }; + if (skipHeaderNamesSet.size > 0) { + for (const headerName of Object.keys(opts2.headers)) { + if (skipHeaderNamesSet.has(headerName.toLowerCase())) { + return dispatch(opts2, handler2); + } + } + } + const cacheKey = makeCacheKey(opts2); + const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet); + const pendingHandler = pendingRequests.get(dedupeKey); + if (pendingHandler) { + pendingHandler.addWaitingHandler(handler2); + return true; + } + const deduplicationHandler = new DeduplicationHandler( + handler2, + () => { + pendingRequests.delete(dedupeKey); + if (pendingRequestsChannel.hasSubscribers) { + pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" }); + } + } + ); + pendingRequests.set(dedupeKey, deduplicationHandler); + if (pendingRequestsChannel.hasSubscribers) { + pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "added" }); + } + return dispatch(opts2, deduplicationHandler); + }; + }; + }; + } +}); + +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/cache/sqlite-cache-store.js var require_sqlite_cache_store = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports, module) { "use strict"; var { Writable } = __require("node:stream"); var { assertCacheKey, assertCacheValue } = require_cache2(); @@ -59927,9 +61094,9 @@ var require_sqlite_cache_store = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/headers.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/headers.js var require_headers2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/headers.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/headers.js"(exports, module) { "use strict"; var { kConstruct } = require_symbols6(); var { kEnumerableProperty } = require_util10(); @@ -60388,9 +61555,9 @@ var require_headers2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/response.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/response.js var require_response2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/response.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/response.js"(exports, module) { "use strict"; var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers2(); var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body2(); @@ -60401,9 +61568,7 @@ var require_response2 = __commonJS({ isValidReasonPhrase, isCancelled, isAborted: isAborted2, - serializeJavascriptValueToJSONString, isErrorLike, - isomorphicEncode, environmentSettingsObject: relevantRealm } = require_util11(); var { @@ -60414,6 +61579,7 @@ var require_response2 = __commonJS({ var { URLSerializer } = require_data_url(); var { kConstruct } = require_symbols6(); var assert3 = __require("node:assert"); + var { isomorphicEncode, serializeJavascriptValueToJSONString } = require_infra(); var textEncoder = new TextEncoder("utf-8"); var Response2 = class _Response { /** @type {Headers} */ @@ -60537,7 +61703,7 @@ var require_response2 = __commonJS({ }); } const clonedResponse = cloneResponse(this.#state); - if (this.#state.body?.stream) { + 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)); @@ -60689,7 +61855,7 @@ var require_response2 = __commonJS({ } else if (type2 === "opaque") { return makeFilteredResponse(response, { type: "opaque", - urlList: Object.freeze([]), + urlList: [], status: 0, statusText: "", body: null @@ -60748,7 +61914,7 @@ var require_response2 = __commonJS({ setResponseHeaders(response, headers); setHeadersList(headers, innerResponse.headersList); setHeadersGuard(headers, guard); - if (innerResponse.body?.stream) { + if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) { streamRegistry.register(response, new WeakRef(innerResponse.body.stream)); } return response; @@ -60811,9 +61977,9 @@ var require_response2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/request.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/request.js var require_request4 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/request.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/request.js"(exports, module) { "use strict"; var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body2(); var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers2(); @@ -61407,6 +62573,8 @@ var require_request4 = __commonJS({ preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false, done: init.done ?? false, timingAllowFailed: init.timingAllowFailed ?? false, + useURLCredentials: init.useURLCredentials ?? void 0, + traversableForUserPrompts: init.traversableForUserPrompts ?? "client", urlList: init.urlList, url: init.urlList[0], headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() @@ -61546,6 +62714,12 @@ var require_request4 = __commonJS({ key: "dispatcher", // undici specific option converter: webidl.converters.any + }, + { + key: "priority", + converter: webidl.converters.DOMString, + allowedValues: ["high", "low", "auto"], + defaultValue: () => "auto" } ]); module.exports = { @@ -61559,14 +62733,15 @@ var require_request4 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js var require_subresource_integrity = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); + var { runtimeFeatures } = require_runtime_features(); var validSRIHashAlgorithmTokenSet = /* @__PURE__ */ new Map([["sha256", 0], ["sha384", 1], ["sha512", 2]]); var crypto2; - try { + if (runtimeFeatures.has("crypto")) { crypto2 = __require("node:crypto"); const cryptoHashes = crypto2.getHashes(); if (cryptoHashes.length === 0) { @@ -61577,7 +62752,7 @@ var require_subresource_integrity = __commonJS({ validSRIHashAlgorithmTokenSet.delete(algorithm); } } - } catch { + } else { validSRIHashAlgorithmTokenSet.clear(); } var getSRIHashAlgorithmIndex = ( @@ -61590,7 +62765,7 @@ var require_subresource_integrity = __commonJS({ /** @type {IsValidSRIHashAlgorithm} */ Map.prototype.has.bind(validSRIHashAlgorithmTokenSet) ); - var bytesMatch = crypto2 === void 0 || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => { + var bytesMatch = runtimeFeatures.has("crypto") === false || validSRIHashAlgorithmTokenSet.size === 0 ? () => true : (bytes, metadataList) => { const parsedMetadata = parseMetadata(metadataList); if (parsedMetadata.length === 0) { return true; @@ -61697,9 +62872,9 @@ var require_subresource_integrity = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/index.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/index.js var require_fetch2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/fetch/index.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/fetch/index.js"(exports, module) { "use strict"; var { makeNetworkError, @@ -61734,7 +62909,6 @@ var require_fetch2 = __commonJS({ isErrorLike, fullyReadBody, readableStreamClose, - isomorphicEncode, urlIsLocal, urlIsHttpHttpsScheme, urlHasHttpsScheme, @@ -61742,7 +62916,10 @@ var require_fetch2 = __commonJS({ simpleRangeHeaderValue, buildContentRange, createInflate, - extractMimeType + extractMimeType, + hasAuthenticationEntry, + includesCredentials, + isTraversableNavigable } = require_util11(); var assert3 = __require("node:assert"); var { safelyExtractBody, extractBody } = require_body2(); @@ -61762,7 +62939,9 @@ var require_fetch2 = __commonJS({ var { STATUS_CODES } = __require("node:http"); var { bytesMatch } = require_subresource_integrity(); var { createDeferredPromise } = require_promise(); - var hasZstd = typeof zlib.createZstdDecompress === "function"; + 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; @@ -61811,7 +62990,7 @@ var require_fetch2 = __commonJS({ } const request2 = getRequestState(requestObject); if (requestObject.signal.aborted) { - abortFetch(p, request2, null, requestObject.signal.reason); + abortFetch(p, request2, null, requestObject.signal.reason, null); return p.promise; } const globalObject = request2.client.globalObject; @@ -61828,7 +63007,7 @@ var require_fetch2 = __commonJS({ assert3(controller != null); controller.abort(requestObject.signal.reason); const realResponse = responseObject?.deref(); - abortFetch(p, request2, realResponse, requestObject.signal.reason); + abortFetch(p, request2, realResponse, requestObject.signal.reason, controller.controller); } ); const processResponse = (response) => { @@ -61836,7 +63015,7 @@ var require_fetch2 = __commonJS({ return; } if (response.aborted) { - abortFetch(p, request2, responseObject, controller.serializedAbortReason); + abortFetch(p, request2, responseObject, controller.serializedAbortReason, controller.controller); return; } if (response.type === "error") { @@ -61892,7 +63071,7 @@ var require_fetch2 = __commonJS({ ); } var markResourceTiming = performance.markResourceTiming; - function abortFetch(p, request2, responseObject, error49) { + function abortFetch(p, request2, responseObject, error49, controller) { if (p) { p.reject(error49); } @@ -61909,12 +63088,7 @@ var require_fetch2 = __commonJS({ } const response = getResponseState(responseObject); if (response.body?.stream != null && isReadable(response.body.stream)) { - response.body.stream.cancel(error49).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); + controller.error(error49); } } function fetching({ @@ -62130,7 +63304,7 @@ var require_fetch2 = __commonJS({ rangeEnd = fullLength - 1; } } - const slicedBlob = blob.slice(rangeStart, rangeEnd, type2); + const slicedBlob = blob.slice(rangeStart, rangeEnd + 1, type2); const slicedBodyWithType = extractBody(slicedBlob); response.body = slicedBodyWithType[0]; const serializedSlicedLength = isomorphicEncode(`${slicedBlob.size}`); @@ -62398,6 +63572,17 @@ var require_fetch2 = __commonJS({ } 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"; @@ -62426,6 +63611,22 @@ var require_fetch2 = __commonJS({ response.rangeRequested = true; } response.requestIncludesCredentials = includeCredentials; + if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && isTraversableNavigable(request2.traversableForUserPrompts)) { + if (request2.body != null) { + if (request2.body.source == null) { + return makeNetworkError("expected non-null body source"); + } + request2.body = safelyExtractBody(request2.body.source)[0]; + } + if (request2.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 (request2.window === "no-window") { return makeNetworkError(); @@ -62662,6 +63863,11 @@ var require_fetch2 = __commonJS({ if (request2.method !== "HEAD" && request2.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) { + reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`)); + return true; + } for (let i = codings.length - 1; i >= 0; --i) { const coding = codings[i].trim(); if (coding === "x-gzip" || coding === "gzip") { @@ -62730,9 +63936,35 @@ var require_fetch2 = __commonJS({ fetchParams.controller.terminate(error49); reject(error49); }, + onRequestUpgrade(_controller2, status, headers, socket) { + if (socket.session != null && status !== 200 || socket.session == null && status !== 101) { + return false; + } + const headersList = new HeadersList(); + for (const [name, value2] of Object.entries(headers)) { + if (value2 == null) { + continue; + } + const headerName = name.toLowerCase(); + if (Array.isArray(value2)) { + for (const entry of value2) { + headersList.append(headerName, String(entry), true); + } + } else { + headersList.append(headerName, String(value2), true); + } + } + resolve3({ + status, + statusText: STATUS_CODES[status], + headersList, + socket + }); + return true; + }, onUpgrade(status, rawHeaders, socket) { - if (status !== 101) { - return; + if (socket.session != null && status !== 200 || socket.session == null && status !== 101) { + return false; } const headersList = new HeadersList(); for (let i = 0; i < rawHeaders.length; i += 2) { @@ -62759,9 +63991,9 @@ var require_fetch2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/util.js var require_util12 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/util.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { URLSerializer } = require_data_url(); @@ -62789,9 +64021,9 @@ var require_util12 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/cache.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/cache.js var require_cache4 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/cache.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/cache.js"(exports, module) { "use strict"; var assert3 = __require("node:assert"); var { kConstruct } = require_symbols6(); @@ -63278,8 +64510,8 @@ var require_cache4 = __commonJS({ } const responseList = []; for (const response of responses) { - const responseObject = fromInnerResponse(response, "immutable"); - responseList.push(responseObject.clone()); + const responseObject = fromInnerResponse(cloneResponse(response), "immutable"); + responseList.push(responseObject); if (responseList.length >= maxResponses) { break; } @@ -63338,9 +64570,9 @@ var require_cache4 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/cachestorage.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/cachestorage.js var require_cachestorage2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cache/cachestorage.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cache/cachestorage.js"(exports, module) { "use strict"; var { Cache } = require_cache4(); var { webidl } = require_webidl2(); @@ -63448,9 +64680,9 @@ var require_cachestorage2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/constants.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/constants.js var require_constants9 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/constants.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/constants.js"(exports, module) { "use strict"; var maxAttributeValueSize = 1024; var maxNameValuePairSize = 4096; @@ -63461,9 +64693,9 @@ var require_constants9 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/util.js var require_util13 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/util.js"(exports, module) { "use strict"; function isCTLExcludingHtab(value2) { for (let i = 0; i < value2.length; ++i) { @@ -63631,13 +64863,13 @@ var require_util13 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/parse.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/parse.js var require_parse2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/parse.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/parse.js"(exports, module) { "use strict"; + var { collectASequenceOfCodePointsFast } = require_infra(); var { maxNameValuePairSize, maxAttributeValueSize } = require_constants9(); var { isCTLExcludingHtab } = require_util13(); - var { collectASequenceOfCodePointsFast } = require_data_url(); var assert3 = __require("node:assert"); var { unescape: qsUnescape } = __require("node:querystring"); function parseSetCookie(header) { @@ -63772,9 +65004,9 @@ var require_parse2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/index.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/index.js var require_cookies2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/cookies/index.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/cookies/index.js"(exports, module) { "use strict"; var { parseSetCookie } = require_parse2(); var { stringify } = require_util13(); @@ -63907,9 +65139,9 @@ var require_cookies2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/events.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/events.js var require_events2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/events.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/events.js"(exports, module) { "use strict"; var { webidl } = require_webidl2(); var { kEnumerableProperty } = require_util10(); @@ -64175,9 +65407,9 @@ var require_events2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/constants.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/constants.js var require_constants10 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/constants.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/constants.js"(exports, module) { "use strict"; var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; var staticPropertyDescriptors = { @@ -64231,13 +65463,14 @@ var require_constants10 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/util.js var require_util14 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/util.js"(exports, module) { "use strict"; var { states, opcodes } = require_constants10(); var { isUtf8 } = __require("node:buffer"); - var { collectASequenceOfCodePointsFast, removeHTTPWhitespace } = require_data_url(); + var { removeHTTPWhitespace } = require_data_url(); + var { collectASequenceOfCodePointsFast } = require_infra(); function isConnecting(readyState) { return readyState === states.CONNECTING; } @@ -64403,32 +65636,25 @@ var require_util14 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/frame.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/frame.js var require_frame2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/frame.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/frame.js"(exports, module) { "use strict"; + var { runtimeFeatures } = require_runtime_features(); var { maxUnsigned16Bit, opcodes } = require_constants10(); var BUFFER_SIZE = 8 * 1024; - var crypto2; var buffer = null; var bufIdx = BUFFER_SIZE; - try { - crypto2 = __require("node:crypto"); - } catch { - crypto2 = { - // not full compatibility, but minimum. - randomFillSync: function randomFillSync(buffer2, _offset, _size2) { - for (let i = 0; i < buffer2.length; ++i) { - buffer2[i] = Math.random() * 255 | 0; - } - return buffer2; - } - }; - } + var randomFillSync = runtimeFeatures.has("crypto") ? __require("node:crypto").randomFillSync : function randomFillSync2(buffer2, _offset, _size2) { + for (let i = 0; i < buffer2.length; ++i) { + buffer2[i] = Math.random() * 255 | 0; + } + return buffer2; + }; function generateMask() { if (bufIdx === BUFFER_SIZE) { bufIdx = 0; - crypto2.randomFillSync(buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE); + randomFillSync(buffer ??= Buffer.allocUnsafeSlow(BUFFER_SIZE), 0, BUFFER_SIZE); } return [buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++], buffer[bufIdx++]]; } @@ -64515,23 +65741,21 @@ var require_frame2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/connection.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/connection.js var require_connection2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/connection.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/connection.js"(exports, module) { "use strict"; var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants10(); - var { parseExtensions, isClosed, isClosing, isEstablished, validateCloseCodeAndReason } = require_util14(); + var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util14(); var { makeRequest } = require_request4(); var { fetching } = require_fetch2(); var { Headers: Headers2, getHeadersList } = require_headers2(); var { getDecodeSplit } = require_util11(); var { WebsocketFrameSend } = require_frame2(); var assert3 = __require("node:assert"); - var crypto2; - try { - crypto2 = __require("node:crypto"); - } catch { - } + var { runtimeFeatures } = require_runtime_features(); + var crypto2 = runtimeFeatures.has("crypto") ? __require("node:crypto") : null; + var warningEmitted = false; function establishWebSocketConnection(url4, protocols, client, handler2, options) { const requestURL = url4; requestURL.protocol = url4.protocol === "ws:" ? "http:" : "https:"; @@ -64543,7 +65767,8 @@ var require_connection2 = __commonJS({ mode: "websocket", credentials: "include", cache: "no-store", - redirect: "error" + redirect: "error", + useURLCredentials: true }); if (options.headers) { const headersList = getHeadersList(new Headers2(options.headers)); @@ -64562,27 +65787,34 @@ var require_connection2 = __commonJS({ useParallelQueue: true, dispatcher: options.dispatcher, processResponse(response) { - if (response.type === "error") { - handler2.readyState = states.CLOSED; - } if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(handler2, 1002, "Received network error or non-101 status code.", response.error); - return; + if (response.socket?.session == null) { + failWebsocketConnection(handler2, 1002, "Received network error or non-101 status code.", response.error); + return; + } + if (response.status !== 200) { + failWebsocketConnection(handler2, 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(handler2, 1002, "Server did not respond with sent protocols."); return; } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { + if (response.socket.session == null && response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { failWebsocketConnection(handler2, 1002, 'Server did not set Upgrade header to "websocket".'); return; } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { + if (response.socket.session == null && response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { failWebsocketConnection(handler2, 1002, 'Server did not set Connection header to "upgrade".'); return; } const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64"); + const digest = crypto2.hash("sha1", keyValue + uid, "base64"); if (secWSAccept !== digest) { failWebsocketConnection(handler2, 1002, "Incorrect hash received in Sec-WebSocket-Accept header."); return; @@ -64651,9 +65883,9 @@ var require_connection2 = __commonJS({ closeWebSocketConnection(handler2, code, reason, false); } handler2.controller.abort(); - if (!handler2.socket) { + if (isConnecting(handler2.readyState)) { handler2.onSocketClose(); - } else if (handler2.socket.destroyed === false) { + } else if (handler2.socket?.destroyed === false) { handler2.socket.destroy(); } } @@ -64665,9 +65897,9 @@ var require_connection2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/permessage-deflate.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/permessage-deflate.js var require_permessage_deflate = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports, module) { "use strict"; var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib"); var { isValidClientWindowBits } = require_util14(); @@ -64720,9 +65952,9 @@ var require_permessage_deflate = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/receiver.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/receiver.js var require_receiver2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/receiver.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/receiver.js"(exports, module) { "use strict"; var { Writable } = __require("node:stream"); var assert3 = __require("node:assert"); @@ -65032,9 +66264,9 @@ var require_receiver2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/sender.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/sender.js var require_sender = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/sender.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/sender.js"(exports, module) { "use strict"; var { WebsocketFrameSend } = require_frame2(); var { opcodes, sendHints } = require_constants10(); @@ -65119,9 +66351,9 @@ var require_sender = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/websocket.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/websocket.js var require_websocket2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/websocket.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/websocket.js"(exports, module) { "use strict"; var { isArrayBuffer } = __require("node:util/types"); var { webidl } = require_webidl2(); @@ -65594,9 +66826,9 @@ var require_websocket2 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js var require_websocketerror = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports, module) { "use strict"; var { webidl } = require_webidl2(); var { validateCloseCodeAndReason } = require_util14(); @@ -65674,9 +66906,9 @@ var require_websocketerror = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js var require_websocketstream = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports, module) { "use strict"; var { createDeferredPromise } = require_promise(); var { environmentSettingsObject } = require_util11(); @@ -65688,8 +66920,8 @@ var require_websocketstream = __commonJS({ var { WebsocketFrameSend } = require_frame2(); var { ByteParser } = require_receiver2(); var { WebSocketError, createUnvalidatedWebSocketError } = require_websocketerror(); - var { utf8DecodeBytes } = require_util11(); var { kEnumerableProperty } = require_util10(); + var { utf8DecodeBytes } = require_encoding2(); var emittedExperimentalWarning = false; var WebSocketStream = class { // Each WebSocketStream object has an associated url , which is a URL record . @@ -65905,7 +67137,7 @@ var require_websocketstream = __commonJS({ if (!this.#handler.wasEverConnected) { this.#openedPromise.reject(new WebSocketError("Socket never opened")); } - const result = this.#parser.closingInfo; + const result = this.#parser?.closingInfo; let code = result?.code ?? 1005; if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) { code = 1006; @@ -65922,8 +67154,8 @@ var require_websocketstream = __commonJS({ }); } else { const error49 = createUnvalidatedWebSocketError("unclean close", code, reason); - this.#readableStreamController.error(error49); - this.#writableStream.abort(error49); + this.#readableStreamController?.error(error49); + this.#writableStream?.abort(error49); this.#closedPromise.reject(error49); } } @@ -65986,9 +67218,9 @@ var require_websocketstream = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/util.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/util.js var require_util15 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/util.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/util.js"(exports, module) { "use strict"; function isValidLastEventId(value2) { return value2.indexOf("\0") === -1; @@ -66007,9 +67239,9 @@ var require_util15 = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js var require_eventsource_stream = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module) { "use strict"; var { Transform } = __require("node:stream"); var { isASCIINumber, isValidLastEventId } = require_util15(); @@ -66238,9 +67470,9 @@ ${value2}`; } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/eventsource.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource.js var require_eventsource = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/lib/web/eventsource/eventsource.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource.js"(exports, module) { "use strict"; var { pipeline: pipeline2 } = __require("node:stream"); var { fetching } = require_fetch2(); @@ -66555,14 +67787,15 @@ var require_eventsource = __commonJS({ } }); -// node_modules/.pnpm/undici@7.16.0/node_modules/undici/index.js +// node_modules/.pnpm/undici@7.22.0/node_modules/undici/index.js var require_undici2 = __commonJS({ - "node_modules/.pnpm/undici@7.16.0/node_modules/undici/index.js"(exports, module) { + "node_modules/.pnpm/undici@7.22.0/node_modules/undici/index.js"(exports, module) { "use strict"; var Client2 = require_client2(); var Dispatcher = require_dispatcher2(); var Pool = require_pool2(); var BalancedPool = require_balanced_pool2(); + var RoundRobinPool = require_round_robin_pool(); var Agent = require_agent2(); var ProxyAgent = require_proxy_agent2(); var EnvHttpProxyAgent = require_env_http_proxy_agent(); @@ -66588,6 +67821,7 @@ var require_undici2 = __commonJS({ module.exports.Client = Client2; module.exports.Pool = Pool; module.exports.BalancedPool = BalancedPool; + module.exports.RoundRobinPool = RoundRobinPool; module.exports.Agent = Agent; module.exports.ProxyAgent = ProxyAgent; module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent; @@ -66603,7 +67837,8 @@ var require_undici2 = __commonJS({ dump: require_dump(), dns: require_dns(), cache: require_cache3(), - decompress: require_decompress() + decompress: require_decompress(), + deduplicate: require_deduplicate() }; module.exports.cacheStores = { MemoryCacheStore: require_memory_cache_store() @@ -66658,10 +67893,31 @@ var require_undici2 = __commonJS({ module.exports.setGlobalDispatcher = setGlobalDispatcher; module.exports.getGlobalDispatcher = getGlobalDispatcher; var fetchImpl = require_fetch2().fetch; + var currentFilename = typeof __filename !== "undefined" ? __filename : void 0; + function appendFetchStackTrace(err, filename) { + if (!err || typeof err !== "object") { + return; + } + const stack = typeof err.stack === "string" ? err.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"); + err.stack = stack ? `${stack} +${captureLines}` : capture.stack; + } module.exports.fetch = function fetch3(init, options = void 0) { return fetchImpl(init, options).catch((err) => { - if (err && typeof err === "object") { - Error.captureStackTrace(err); + if (currentFilename) { + appendFetchStackTrace(err, currentFilename); + } else if (err && typeof err === "object") { + Error.captureStackTrace(err, module.exports.fetch); } throw err; }); @@ -67173,27 +68429,27 @@ var require_uri_templates = __commonJS({ } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/arktype-C-GObzDh.js +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/arktype-C-GObzDh.js var arktype_C_GObzDh_exports = {}; __export(arktype_C_GObzDh_exports, { getToJsonSchemaFn: () => getToJsonSchemaFn }); var getToJsonSchemaFn; var init_arktype_C_GObzDh = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/arktype-C-GObzDh.js"() { + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/arktype-C-GObzDh.js"() { getToJsonSchemaFn = async () => (schema2) => schema2.toJsonSchema(); } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/effect-BqN--3bg.js -var effect_BqN_3bg_exports = {}; -__export(effect_BqN_3bg_exports, { +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/effect-Df2gY8Wx.js +var effect_Df2gY8Wx_exports = {}; +__export(effect_Df2gY8Wx_exports, { getToJsonSchemaFn: () => getToJsonSchemaFn2 }); var getToJsonSchemaFn2; -var init_effect_BqN_3bg = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/effect-BqN--3bg.js"() { - init_index_CLFto6T2(); +var init_effect_Df2gY8Wx = __esm({ + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/effect-Df2gY8Wx.js"() { + init_index_DoHiaFQM(); getToJsonSchemaFn2 = async () => { const { JSONSchema } = await tryImport(import("effect"), "effect"); return (schema2) => JSONSchema.make(schema2); @@ -67201,15 +68457,15 @@ var init_effect_BqN_3bg = __esm({ } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/sury-DT-CKDzo.js -var sury_DT_CKDzo_exports = {}; -__export(sury_DT_CKDzo_exports, { +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/sury-BoOvxlMw.js +var sury_BoOvxlMw_exports = {}; +__export(sury_BoOvxlMw_exports, { getToJsonSchemaFn: () => getToJsonSchemaFn3 }); var getToJsonSchemaFn3; -var init_sury_DT_CKDzo = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/sury-DT-CKDzo.js"() { - init_index_CLFto6T2(); +var init_sury_BoOvxlMw = __esm({ + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/sury-BoOvxlMw.js"() { + init_index_DoHiaFQM(); getToJsonSchemaFn3 = async () => { const { toJSONSchema: toJSONSchema2 } = await tryImport(import("sury"), "sury"); return (schema2) => toJSONSchema2(schema2); @@ -67217,15 +68473,15 @@ var init_sury_DT_CKDzo = __esm({ } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/valibot-CR9aQ3tY.js -var valibot_CR9aQ3tY_exports = {}; -__export(valibot_CR9aQ3tY_exports, { +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/valibot-_ibN3zSD.js +var valibot_ibN3zSD_exports = {}; +__export(valibot_ibN3zSD_exports, { getToJsonSchemaFn: () => getToJsonSchemaFn4 }); var getToJsonSchemaFn4; -var init_valibot_CR9aQ3tY = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/valibot-CR9aQ3tY.js"() { - init_index_CLFto6T2(); +var init_valibot_ibN3zSD = __esm({ + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/valibot-_ibN3zSD.js"() { + init_index_DoHiaFQM(); getToJsonSchemaFn4 = async () => { const { toJsonSchema: toJsonSchema2 } = await tryImport(import("@valibot/to-json-schema"), "@valibot/to-json-schema"); return (schema2) => toJsonSchema2(schema2); @@ -67233,15 +68489,15 @@ var init_valibot_CR9aQ3tY = __esm({ } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/zod-DRPNNiyo.js -var zod_DRPNNiyo_exports = {}; -__export(zod_DRPNNiyo_exports, { +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/zod-DjyNjMBF.js +var zod_DjyNjMBF_exports = {}; +__export(zod_DjyNjMBF_exports, { getToJsonSchemaFn: () => getToJsonSchemaFn5 }); var getToJsonSchemaFn5; -var init_zod_DRPNNiyo = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/zod-DRPNNiyo.js"() { - init_index_CLFto6T2(); +var init_zod_DjyNjMBF = __esm({ + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/zod-DjyNjMBF.js"() { + init_index_DoHiaFQM(); getToJsonSchemaFn5 = async () => { let zodV4toJSONSchema = (_schema) => { throw new Error(`xsschema: Missing zod v4 dependencies "zod". see ${missingDependenciesUrl}`); @@ -67251,7 +68507,7 @@ var init_zod_DRPNNiyo = __esm({ }; try { const { toJSONSchema: toJSONSchema2 } = await Promise.resolve().then(() => (init_core2(), core_exports2)); - zodV4toJSONSchema = (schema2) => toJSONSchema2(schema2, { target: "draft-7" }); + zodV4toJSONSchema = ((schema2) => toJSONSchema2(schema2, { target: "draft-7" })); } catch (err) { if (err instanceof Error) console.error(err.message); @@ -67273,10 +68529,11 @@ var init_zod_DRPNNiyo = __esm({ } }); -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/index-CLFto6T2.js -var missingDependenciesUrl, tryImport, getToJsonSchemaFn6, toJsonSchema; -var init_index_CLFto6T2 = __esm({ - "node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/index-CLFto6T2.js"() { +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/index-DoHiaFQM.js +var isStandardJSONSchemaV1, missingDependenciesUrl, tryImport, getToJsonSchemaFn6, toJsonSchema; +var init_index_DoHiaFQM = __esm({ + "node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/index-DoHiaFQM.js"() { + isStandardJSONSchemaV1 = (schema2) => "jsonSchema" in schema2["~standard"]; missingDependenciesUrl = "https://xsai.js.org/docs/packages-top/xsschema#missing-dependencies"; tryImport = async (result, name) => { try { @@ -67290,18 +68547,18 @@ var init_index_CLFto6T2 = __esm({ case "arktype": return Promise.resolve().then(() => (init_arktype_C_GObzDh(), arktype_C_GObzDh_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); case "effect": - return Promise.resolve().then(() => (init_effect_BqN_3bg(), effect_BqN_3bg_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); + return Promise.resolve().then(() => (init_effect_Df2gY8Wx(), effect_Df2gY8Wx_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); case "sury": - return Promise.resolve().then(() => (init_sury_DT_CKDzo(), sury_DT_CKDzo_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); + return Promise.resolve().then(() => (init_sury_BoOvxlMw(), sury_BoOvxlMw_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); case "valibot": - return Promise.resolve().then(() => (init_valibot_CR9aQ3tY(), valibot_CR9aQ3tY_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); + return Promise.resolve().then(() => (init_valibot_ibN3zSD(), valibot_ibN3zSD_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); case "zod": - return Promise.resolve().then(() => (init_zod_DRPNNiyo(), zod_DRPNNiyo_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); + return Promise.resolve().then(() => (init_zod_DjyNjMBF(), zod_DjyNjMBF_exports)).then(async ({ getToJsonSchemaFn: getToJsonSchemaFn22 }) => getToJsonSchemaFn22()); default: throw new Error(`xsschema: Unsupported schema vendor "${vendor}". see https://xsai.js.org/docs/packages-top/xsschema#unsupported-schema-vendor`); } }; - toJsonSchema = async (schema2) => getToJsonSchemaFn6(schema2["~standard"].vendor).then(async (toJsonSchema2) => toJsonSchema2(schema2)); + toJsonSchema = async (schema2) => isStandardJSONSchemaV1(schema2) ? schema2["~standard"].jsonSchema.input({ target: "draft-07" }) : getToJsonSchemaFn6(schema2["~standard"].vendor).then(async (toJsonSchema2) => toJsonSchema2(schema2)); } }); @@ -68059,12 +69316,12 @@ var require_conversions = __commonJS({ return "000000".substring(string6.length) + string6; }; convert.hex.rgb = function(args2) { - const match2 = args2.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match2) { + const match3 = args2.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match3) { return [0, 0, 0]; } - let colorString = match2[0]; - if (match2[0].length === 3) { + let colorString = match3[0]; + if (match3[0].length === 3) { colorString = colorString.split("").map((char) => { return char + char; }).join(""); @@ -68950,9 +70207,9 @@ var require_wrapWord = __commonJS({ const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))"); do { let chunk; - const match2 = re.exec(subject); - if (match2) { - chunk = match2[0]; + const match3 = re.exec(subject); + if (match3) { + chunk = match3[0]; subject = subject.slice(chunk.length); const trimmedLength = chunk.trim().length; const offset = chunk.length - trimmedLength; @@ -69351,6 +70608,17 @@ var require_drawRow = __commonJS({ } }); +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +var require_equal3 = __commonJS({ + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + var equal = require_fast_deep_equal(); + equal.code = 'require("ajv/dist/runtime/equal").default'; + exports.default = equal; + } +}); + // node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js var require_validators = __commonJS({ "node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js"(exports) { @@ -69808,7 +71076,7 @@ var require_validators = __commonJS({ "type": "string", "enum": ["left", "right", "center", "justify"] }; - var func0 = require_equal().default; + var func0 = require_equal3().default; function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; @@ -72250,13 +73518,13 @@ var require_lodash = __commonJS({ } if (isRegExp(separator2)) { if (string6.slice(end).search(separator2)) { - var match2, substring = result; + var match3, substring = result; if (!separator2.global) { separator2 = RegExp(separator2.source, toString2(reFlags.exec(separator2)) + "g"); } separator2.lastIndex = 0; - while (match2 = separator2.exec(substring)) { - var newEnd = match2.index; + while (match3 = separator2.exec(substring)) { + var newEnd = match3.index; } result = result.slice(0, newEnd === void 0 ? end : newEnd); } @@ -74292,16 +75560,16 @@ var require_fast_content_type_parse = __commonJS({ return result; } let key; - let match2; + let match3; let value2; paramRE.lastIndex = index; - while (match2 = paramRE.exec(header)) { - if (match2.index !== index) { + while (match3 = paramRE.exec(header)) { + if (match3.index !== index) { throw new TypeError("invalid parameter format"); } - index += match2[0].length; - key = match2[1].toLowerCase(); - value2 = match2[2]; + index += match3[0].length; + key = match3[1].toLowerCase(); + value2 = match3[2]; if (value2[0] === '"') { value2 = value2.slice(1, value2.length - 1); quotedPairRE.test(value2) && (value2 = value2.replace(quotedPairRE, "$1")); @@ -74330,16 +75598,16 @@ var require_fast_content_type_parse = __commonJS({ return result; } let key; - let match2; + let match3; let value2; paramRE.lastIndex = index; - while (match2 = paramRE.exec(header)) { - if (match2.index !== index) { + while (match3 = paramRE.exec(header)) { + if (match3.index !== index) { return defaultContentType; } - index += match2[0].length; - key = match2[1].toLowerCase(); - value2 = match2[2]; + index += match3[0].length; + key = match3[1].toLowerCase(); + value2 = match3[2]; if (value2[0] === '"') { value2 = value2.slice(1, value2.length - 1); quotedPairRE.test(value2) && (value2 = value2.replace(quotedPairRE, "$1")); @@ -74358,5613 +75626,6 @@ var require_fast_content_type_parse = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js -var require_code4 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0; - var _CodeOrName = class { - }; - exports._CodeOrName = _CodeOrName; - exports.IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i; - var Name = class extends _CodeOrName { - constructor(s) { - super(); - if (!exports.IDENTIFIER.test(s)) - throw new Error("CodeGen: name must be a valid identifier"); - this.str = s; - } - toString() { - return this.str; - } - emptyStr() { - return false; - } - get names() { - return { [this.str]: 1 }; - } - }; - exports.Name = Name; - var _Code = class extends _CodeOrName { - constructor(code) { - super(); - this._items = typeof code === "string" ? [code] : code; - } - toString() { - return this.str; - } - emptyStr() { - if (this._items.length > 1) - return false; - const item = this._items[0]; - return item === "" || item === '""'; - } - get str() { - var _a2; - return (_a2 = this._str) !== null && _a2 !== void 0 ? _a2 : this._str = this._items.reduce((s, c) => `${s}${c}`, ""); - } - get names() { - var _a2; - return (_a2 = this._names) !== null && _a2 !== void 0 ? _a2 : this._names = this._items.reduce((names, c) => { - if (c instanceof Name) - names[c.str] = (names[c.str] || 0) + 1; - return names; - }, {}); - } - }; - exports._Code = _Code; - exports.nil = new _Code(""); - function _(strs, ...args2) { - const code = [strs[0]]; - let i = 0; - while (i < args2.length) { - addCodeArg(code, args2[i]); - code.push(strs[++i]); - } - return new _Code(code); - } - exports._ = _; - var plus = new _Code("+"); - function str(strs, ...args2) { - const expr = [safeStringify(strs[0])]; - let i = 0; - while (i < args2.length) { - expr.push(plus); - addCodeArg(expr, args2[i]); - expr.push(plus, safeStringify(strs[++i])); - } - optimize(expr); - return new _Code(expr); - } - exports.str = str; - function addCodeArg(code, arg) { - if (arg instanceof _Code) - code.push(...arg._items); - else if (arg instanceof Name) - code.push(arg); - else - code.push(interpolate(arg)); - } - exports.addCodeArg = addCodeArg; - function optimize(expr) { - let i = 1; - while (i < expr.length - 1) { - if (expr[i] === plus) { - const res = mergeExprItems(expr[i - 1], expr[i + 1]); - if (res !== void 0) { - expr.splice(i - 1, 3, res); - continue; - } - expr[i++] = "+"; - } - i++; - } - } - function mergeExprItems(a, b) { - if (b === '""') - return a; - if (a === '""') - return b; - if (typeof a == "string") { - if (b instanceof Name || a[a.length - 1] !== '"') - return; - if (typeof b != "string") - return `${a.slice(0, -1)}${b}"`; - if (b[0] === '"') - return a.slice(0, -1) + b.slice(1); - return; - } - if (typeof b == "string" && b[0] === '"' && !(a instanceof Name)) - return `"${a}${b.slice(1)}`; - return; - } - function strConcat(c1, c2) { - return c2.emptyStr() ? c1 : c1.emptyStr() ? c2 : str`${c1}${c2}`; - } - exports.strConcat = strConcat; - function interpolate(x) { - return typeof x == "number" || typeof x == "boolean" || x === null ? x : safeStringify(Array.isArray(x) ? x.join(",") : x); - } - function stringify(x) { - return new _Code(safeStringify(x)); - } - exports.stringify = stringify; - function safeStringify(x) { - return JSON.stringify(x).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); - } - exports.safeStringify = safeStringify; - function getProperty(key) { - return typeof key == "string" && exports.IDENTIFIER.test(key) ? new _Code(`.${key}`) : _`[${key}]`; - } - exports.getProperty = getProperty; - function getEsmExportName(key) { - if (typeof key == "string" && exports.IDENTIFIER.test(key)) { - return new _Code(`${key}`); - } - throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`); - } - exports.getEsmExportName = getEsmExportName; - function regexpCode(rx) { - return new _Code(rx.toString()); - } - exports.regexpCode = regexpCode; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js -var require_scope3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0; - var code_1 = require_code4(); - var ValueError = class extends Error { - constructor(name) { - super(`CodeGen: "code" for ${name} not defined`); - this.value = name.value; - } - }; - var UsedValueState; - (function(UsedValueState2) { - UsedValueState2[UsedValueState2["Started"] = 0] = "Started"; - UsedValueState2[UsedValueState2["Completed"] = 1] = "Completed"; - })(UsedValueState || (exports.UsedValueState = UsedValueState = {})); - exports.varKinds = { - const: new code_1.Name("const"), - let: new code_1.Name("let"), - var: new code_1.Name("var") - }; - var Scope2 = class { - constructor({ prefixes, parent } = {}) { - this._names = {}; - this._prefixes = prefixes; - this._parent = parent; - } - toName(nameOrPrefix) { - return nameOrPrefix instanceof code_1.Name ? nameOrPrefix : this.name(nameOrPrefix); - } - name(prefix) { - return new code_1.Name(this._newName(prefix)); - } - _newName(prefix) { - const ng = this._names[prefix] || this._nameGroup(prefix); - return `${prefix}${ng.index++}`; - } - _nameGroup(prefix) { - var _a2, _b; - if (((_b = (_a2 = this._parent) === null || _a2 === void 0 ? void 0 : _a2._prefixes) === null || _b === void 0 ? void 0 : _b.has(prefix)) || this._prefixes && !this._prefixes.has(prefix)) { - throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`); - } - return this._names[prefix] = { prefix, index: 0 }; - } - }; - exports.Scope = Scope2; - var ValueScopeName = class extends code_1.Name { - constructor(prefix, nameStr) { - super(nameStr); - this.prefix = prefix; - } - setValue(value2, { property, itemIndex }) { - this.value = value2; - this.scopePath = (0, code_1._)`.${new code_1.Name(property)}[${itemIndex}]`; - } - }; - exports.ValueScopeName = ValueScopeName; - var line = (0, code_1._)`\n`; - var ValueScope = class extends Scope2 { - constructor(opts) { - super(opts); - this._values = {}; - this._scope = opts.scope; - this.opts = { ...opts, _n: opts.lines ? line : code_1.nil }; - } - get() { - return this._scope; - } - name(prefix) { - return new ValueScopeName(prefix, this._newName(prefix)); - } - value(nameOrPrefix, value2) { - var _a2; - if (value2.ref === void 0) - throw new Error("CodeGen: ref must be passed in value"); - const name = this.toName(nameOrPrefix); - const { prefix } = name; - const valueKey = (_a2 = value2.key) !== null && _a2 !== void 0 ? _a2 : value2.ref; - let vs = this._values[prefix]; - if (vs) { - const _name = vs.get(valueKey); - if (_name) - return _name; - } else { - vs = this._values[prefix] = /* @__PURE__ */ new Map(); - } - vs.set(valueKey, name); - const s = this._scope[prefix] || (this._scope[prefix] = []); - const itemIndex = s.length; - s[itemIndex] = value2.ref; - name.setValue(value2, { property: prefix, itemIndex }); - return name; - } - getValue(prefix, keyOrRef) { - const vs = this._values[prefix]; - if (!vs) - return; - return vs.get(keyOrRef); - } - scopeRefs(scopeName, values = this._values) { - return this._reduceValues(values, (name) => { - if (name.scopePath === void 0) - throw new Error(`CodeGen: name "${name}" has no value`); - return (0, code_1._)`${scopeName}${name.scopePath}`; - }); - } - scopeCode(values = this._values, usedValues, getCode) { - return this._reduceValues(values, (name) => { - if (name.value === void 0) - throw new Error(`CodeGen: name "${name}" has no value`); - return name.value.code; - }, usedValues, getCode); - } - _reduceValues(values, valueCode, usedValues = {}, getCode) { - let code = code_1.nil; - for (const prefix in values) { - const vs = values[prefix]; - if (!vs) - continue; - const nameSet = usedValues[prefix] = usedValues[prefix] || /* @__PURE__ */ new Map(); - vs.forEach((name) => { - if (nameSet.has(name)) - return; - nameSet.set(name, UsedValueState.Started); - let c = valueCode(name); - if (c) { - const def = this.opts.es5 ? exports.varKinds.var : exports.varKinds.const; - code = (0, code_1._)`${code}${def} ${name} = ${c};${this.opts._n}`; - } else if (c = getCode === null || getCode === void 0 ? void 0 : getCode(name)) { - code = (0, code_1._)`${code}${c}${this.opts._n}`; - } else { - throw new ValueError(name); - } - nameSet.set(name, UsedValueState.Completed); - }); - } - return code; - } - }; - exports.ValueScope = ValueScope; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js -var require_codegen3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0; - var code_1 = require_code4(); - var scope_1 = require_scope3(); - var code_2 = require_code4(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return code_2._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return code_2.str; - } }); - Object.defineProperty(exports, "strConcat", { enumerable: true, get: function() { - return code_2.strConcat; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return code_2.nil; - } }); - Object.defineProperty(exports, "getProperty", { enumerable: true, get: function() { - return code_2.getProperty; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return code_2.stringify; - } }); - Object.defineProperty(exports, "regexpCode", { enumerable: true, get: function() { - return code_2.regexpCode; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return code_2.Name; - } }); - var scope_2 = require_scope3(); - Object.defineProperty(exports, "Scope", { enumerable: true, get: function() { - return scope_2.Scope; - } }); - Object.defineProperty(exports, "ValueScope", { enumerable: true, get: function() { - return scope_2.ValueScope; - } }); - Object.defineProperty(exports, "ValueScopeName", { enumerable: true, get: function() { - return scope_2.ValueScopeName; - } }); - Object.defineProperty(exports, "varKinds", { enumerable: true, get: function() { - return scope_2.varKinds; - } }); - exports.operators = { - GT: new code_1._Code(">"), - GTE: new code_1._Code(">="), - LT: new code_1._Code("<"), - LTE: new code_1._Code("<="), - EQ: new code_1._Code("==="), - NEQ: new code_1._Code("!=="), - NOT: new code_1._Code("!"), - OR: new code_1._Code("||"), - AND: new code_1._Code("&&"), - ADD: new code_1._Code("+") - }; - var Node = class { - optimizeNodes() { - return this; - } - optimizeNames(_names, _constants) { - return this; - } - }; - var Def = class extends Node { - constructor(varKind, name, rhs) { - super(); - this.varKind = varKind; - this.name = name; - this.rhs = rhs; - } - render({ es5, _n }) { - const varKind = es5 ? scope_1.varKinds.var : this.varKind; - const rhs = this.rhs === void 0 ? "" : ` = ${this.rhs}`; - return `${varKind} ${this.name}${rhs};` + _n; - } - optimizeNames(names, constants) { - if (!names[this.name.str]) - return; - if (this.rhs) - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - return this.rhs instanceof code_1._CodeOrName ? this.rhs.names : {}; - } - }; - var Assign = class extends Node { - constructor(lhs, rhs, sideEffects) { - super(); - this.lhs = lhs; - this.rhs = rhs; - this.sideEffects = sideEffects; - } - render({ _n }) { - return `${this.lhs} = ${this.rhs};` + _n; - } - optimizeNames(names, constants) { - if (this.lhs instanceof code_1.Name && !names[this.lhs.str] && !this.sideEffects) - return; - this.rhs = optimizeExpr(this.rhs, names, constants); - return this; - } - get names() { - const names = this.lhs instanceof code_1.Name ? {} : { ...this.lhs.names }; - return addExprNames(names, this.rhs); - } - }; - var AssignOp = class extends Assign { - constructor(lhs, op, rhs, sideEffects) { - super(lhs, rhs, sideEffects); - this.op = op; - } - render({ _n }) { - return `${this.lhs} ${this.op}= ${this.rhs};` + _n; - } - }; - var Label = class extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - return `${this.label}:` + _n; - } - }; - var Break = class extends Node { - constructor(label) { - super(); - this.label = label; - this.names = {}; - } - render({ _n }) { - const label = this.label ? ` ${this.label}` : ""; - return `break${label};` + _n; - } - }; - var Throw = class extends Node { - constructor(error49) { - super(); - this.error = error49; - } - render({ _n }) { - return `throw ${this.error};` + _n; - } - get names() { - return this.error.names; - } - }; - var AnyCode = class extends Node { - constructor(code) { - super(); - this.code = code; - } - render({ _n }) { - return `${this.code};` + _n; - } - optimizeNodes() { - return `${this.code}` ? this : void 0; - } - optimizeNames(names, constants) { - this.code = optimizeExpr(this.code, names, constants); - return this; - } - get names() { - return this.code instanceof code_1._CodeOrName ? this.code.names : {}; - } - }; - var ParentNode = class extends Node { - constructor(nodes = []) { - super(); - this.nodes = nodes; - } - render(opts) { - return this.nodes.reduce((code, n) => code + n.render(opts), ""); - } - optimizeNodes() { - const { nodes } = this; - let i = nodes.length; - while (i--) { - const n = nodes[i].optimizeNodes(); - if (Array.isArray(n)) - nodes.splice(i, 1, ...n); - else if (n) - nodes[i] = n; - else - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : void 0; - } - optimizeNames(names, constants) { - const { nodes } = this; - let i = nodes.length; - while (i--) { - const n = nodes[i]; - if (n.optimizeNames(names, constants)) - continue; - subtractNames(names, n.names); - nodes.splice(i, 1); - } - return nodes.length > 0 ? this : void 0; - } - get names() { - return this.nodes.reduce((names, n) => addNames(names, n.names), {}); - } - }; - var BlockNode = class extends ParentNode { - render(opts) { - return "{" + opts._n + super.render(opts) + "}" + opts._n; - } - }; - var Root = class extends ParentNode { - }; - var Else = class extends BlockNode { - }; - Else.kind = "else"; - var If = class _If extends BlockNode { - constructor(condition, nodes) { - super(nodes); - this.condition = condition; - } - render(opts) { - let code = `if(${this.condition})` + super.render(opts); - if (this.else) - code += "else " + this.else.render(opts); - return code; - } - optimizeNodes() { - super.optimizeNodes(); - const cond = this.condition; - if (cond === true) - return this.nodes; - let e = this.else; - if (e) { - const ns = e.optimizeNodes(); - e = this.else = Array.isArray(ns) ? new Else(ns) : ns; - } - if (e) { - if (cond === false) - return e instanceof _If ? e : e.nodes; - if (this.nodes.length) - return this; - return new _If(not(cond), e instanceof _If ? [e] : e.nodes); - } - if (cond === false || !this.nodes.length) - return void 0; - return this; - } - optimizeNames(names, constants) { - var _a2; - this.else = (_a2 = this.else) === null || _a2 === void 0 ? void 0 : _a2.optimizeNames(names, constants); - if (!(super.optimizeNames(names, constants) || this.else)) - return; - this.condition = optimizeExpr(this.condition, names, constants); - return this; - } - get names() { - const names = super.names; - addExprNames(names, this.condition); - if (this.else) - addNames(names, this.else.names); - return names; - } - }; - If.kind = "if"; - var For = class extends BlockNode { - }; - For.kind = "for"; - var ForLoop = class extends For { - constructor(iteration) { - super(); - this.iteration = iteration; - } - render(opts) { - return `for(${this.iteration})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iteration = optimizeExpr(this.iteration, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iteration.names); - } - }; - var ForRange = class extends For { - constructor(varKind, name, from, to) { - super(); - this.varKind = varKind; - this.name = name; - this.from = from; - this.to = to; - } - render(opts) { - const varKind = opts.es5 ? scope_1.varKinds.var : this.varKind; - const { name, from, to } = this; - return `for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)` + super.render(opts); - } - get names() { - const names = addExprNames(super.names, this.from); - return addExprNames(names, this.to); - } - }; - var ForIter = class extends For { - constructor(loop, varKind, name, iterable) { - super(); - this.loop = loop; - this.varKind = varKind; - this.name = name; - this.iterable = iterable; - } - render(opts) { - return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})` + super.render(opts); - } - optimizeNames(names, constants) { - if (!super.optimizeNames(names, constants)) - return; - this.iterable = optimizeExpr(this.iterable, names, constants); - return this; - } - get names() { - return addNames(super.names, this.iterable.names); - } - }; - var Func = class extends BlockNode { - constructor(name, args2, async) { - super(); - this.name = name; - this.args = args2; - this.async = async; - } - render(opts) { - const _async = this.async ? "async " : ""; - return `${_async}function ${this.name}(${this.args})` + super.render(opts); - } - }; - Func.kind = "func"; - var Return = class extends ParentNode { - render(opts) { - return "return " + super.render(opts); - } - }; - Return.kind = "return"; - var Try = class extends BlockNode { - render(opts) { - let code = "try" + super.render(opts); - if (this.catch) - code += this.catch.render(opts); - if (this.finally) - code += this.finally.render(opts); - return code; - } - optimizeNodes() { - var _a2, _b; - super.optimizeNodes(); - (_a2 = this.catch) === null || _a2 === void 0 ? void 0 : _a2.optimizeNodes(); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNodes(); - return this; - } - optimizeNames(names, constants) { - var _a2, _b; - super.optimizeNames(names, constants); - (_a2 = this.catch) === null || _a2 === void 0 ? void 0 : _a2.optimizeNames(names, constants); - (_b = this.finally) === null || _b === void 0 ? void 0 : _b.optimizeNames(names, constants); - return this; - } - get names() { - const names = super.names; - if (this.catch) - addNames(names, this.catch.names); - if (this.finally) - addNames(names, this.finally.names); - return names; - } - }; - var Catch = class extends BlockNode { - constructor(error49) { - super(); - this.error = error49; - } - render(opts) { - return `catch(${this.error})` + super.render(opts); - } - }; - Catch.kind = "catch"; - var Finally = class extends BlockNode { - render(opts) { - return "finally" + super.render(opts); - } - }; - Finally.kind = "finally"; - var CodeGen = class { - constructor(extScope, opts = {}) { - this._values = {}; - this._blockStarts = []; - this._constants = {}; - this.opts = { ...opts, _n: opts.lines ? "\n" : "" }; - this._extScope = extScope; - this._scope = new scope_1.Scope({ parent: extScope }); - this._nodes = [new Root()]; - } - toString() { - return this._root.render(this.opts); - } - // returns unique name in the internal scope - name(prefix) { - return this._scope.name(prefix); - } - // reserves unique name in the external scope - scopeName(prefix) { - return this._extScope.name(prefix); - } - // reserves unique name in the external scope and assigns value to it - scopeValue(prefixOrName, value2) { - const name = this._extScope.value(prefixOrName, value2); - const vs = this._values[name.prefix] || (this._values[name.prefix] = /* @__PURE__ */ new Set()); - vs.add(name); - return name; - } - getScopeValue(prefix, keyOrRef) { - return this._extScope.getValue(prefix, keyOrRef); - } - // return code that assigns values in the external scope to the names that are used internally - // (same names that were returned by gen.scopeName or gen.scopeValue) - scopeRefs(scopeName) { - return this._extScope.scopeRefs(scopeName, this._values); - } - scopeCode() { - return this._extScope.scopeCode(this._values); - } - _def(varKind, nameOrPrefix, rhs, constant) { - const name = this._scope.toName(nameOrPrefix); - if (rhs !== void 0 && constant) - this._constants[name.str] = rhs; - this._leafNode(new Def(varKind, name, rhs)); - return name; - } - // `const` declaration (`var` in es5 mode) - const(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.const, nameOrPrefix, rhs, _constant); - } - // `let` declaration with optional assignment (`var` in es5 mode) - let(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.let, nameOrPrefix, rhs, _constant); - } - // `var` declaration with optional assignment - var(nameOrPrefix, rhs, _constant) { - return this._def(scope_1.varKinds.var, nameOrPrefix, rhs, _constant); - } - // assignment code - assign(lhs, rhs, sideEffects) { - return this._leafNode(new Assign(lhs, rhs, sideEffects)); - } - // `+=` code - add(lhs, rhs) { - return this._leafNode(new AssignOp(lhs, exports.operators.ADD, rhs)); - } - // appends passed SafeExpr to code or executes Block - code(c) { - if (typeof c == "function") - c(); - else if (c !== code_1.nil) - this._leafNode(new AnyCode(c)); - return this; - } - // returns code for object literal for the passed argument list of key-value pairs - object(...keyValues) { - const code = ["{"]; - for (const [key, value2] of keyValues) { - if (code.length > 1) - code.push(","); - code.push(key); - if (key !== value2 || this.opts.es5) { - code.push(":"); - (0, code_1.addCodeArg)(code, value2); - } - } - code.push("}"); - return new code_1._Code(code); - } - // `if` clause (or statement if `thenBody` and, optionally, `elseBody` are passed) - if(condition, thenBody, elseBody) { - this._blockNode(new If(condition)); - if (thenBody && elseBody) { - this.code(thenBody).else().code(elseBody).endIf(); - } else if (thenBody) { - this.code(thenBody).endIf(); - } else if (elseBody) { - throw new Error('CodeGen: "else" body without "then" body'); - } - return this; - } - // `else if` clause - invalid without `if` or after `else` clauses - elseIf(condition) { - return this._elseNode(new If(condition)); - } - // `else` clause - only valid after `if` or `else if` clauses - else() { - return this._elseNode(new Else()); - } - // end `if` statement (needed if gen.if was used only with condition) - endIf() { - return this._endBlockNode(If, Else); - } - _for(node2, forBody) { - this._blockNode(node2); - if (forBody) - this.code(forBody).endFor(); - return this; - } - // a generic `for` clause (or statement if `forBody` is passed) - for(iteration, forBody) { - return this._for(new ForLoop(iteration), forBody); - } - // `for` statement for a range of values - forRange(nameOrPrefix, from, to, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.let) { - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForRange(varKind, name, from, to), () => forBody(name)); - } - // `for-of` statement (in es5 mode replace with a normal for loop) - forOf(nameOrPrefix, iterable, forBody, varKind = scope_1.varKinds.const) { - const name = this._scope.toName(nameOrPrefix); - if (this.opts.es5) { - const arr = iterable instanceof code_1.Name ? iterable : this.var("_arr", iterable); - return this.forRange("_i", 0, (0, code_1._)`${arr}.length`, (i) => { - this.var(name, (0, code_1._)`${arr}[${i}]`); - forBody(name); - }); - } - return this._for(new ForIter("of", varKind, name, iterable), () => forBody(name)); - } - // `for-in` statement. - // With option `ownProperties` replaced with a `for-of` loop for object keys - forIn(nameOrPrefix, obj, forBody, varKind = this.opts.es5 ? scope_1.varKinds.var : scope_1.varKinds.const) { - if (this.opts.ownProperties) { - return this.forOf(nameOrPrefix, (0, code_1._)`Object.keys(${obj})`, forBody); - } - const name = this._scope.toName(nameOrPrefix); - return this._for(new ForIter("in", varKind, name, obj), () => forBody(name)); - } - // end `for` loop - endFor() { - return this._endBlockNode(For); - } - // `label` statement - label(label) { - return this._leafNode(new Label(label)); - } - // `break` statement - break(label) { - return this._leafNode(new Break(label)); - } - // `return` statement - return(value2) { - const node2 = new Return(); - this._blockNode(node2); - this.code(value2); - if (node2.nodes.length !== 1) - throw new Error('CodeGen: "return" should have one node'); - return this._endBlockNode(Return); - } - // `try` statement - try(tryBody, catchCode, finallyCode) { - if (!catchCode && !finallyCode) - throw new Error('CodeGen: "try" without "catch" and "finally"'); - const node2 = new Try(); - this._blockNode(node2); - this.code(tryBody); - if (catchCode) { - const error49 = this.name("e"); - this._currNode = node2.catch = new Catch(error49); - catchCode(error49); - } - if (finallyCode) { - this._currNode = node2.finally = new Finally(); - this.code(finallyCode); - } - return this._endBlockNode(Catch, Finally); - } - // `throw` statement - throw(error49) { - return this._leafNode(new Throw(error49)); - } - // start self-balancing block - block(body, nodeCount) { - this._blockStarts.push(this._nodes.length); - if (body) - this.code(body).endBlock(nodeCount); - return this; - } - // end the current self-balancing block - endBlock(nodeCount) { - const len = this._blockStarts.pop(); - if (len === void 0) - throw new Error("CodeGen: not in self-balancing block"); - const toClose = this._nodes.length - len; - if (toClose < 0 || nodeCount !== void 0 && toClose !== nodeCount) { - throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`); - } - this._nodes.length = len; - return this; - } - // `function` heading (or definition if funcBody is passed) - func(name, args2 = code_1.nil, async, funcBody) { - this._blockNode(new Func(name, args2, async)); - if (funcBody) - this.code(funcBody).endFunc(); - return this; - } - // end function definition - endFunc() { - return this._endBlockNode(Func); - } - optimize(n = 1) { - while (n-- > 0) { - this._root.optimizeNodes(); - this._root.optimizeNames(this._root.names, this._constants); - } - } - _leafNode(node2) { - this._currNode.nodes.push(node2); - return this; - } - _blockNode(node2) { - this._currNode.nodes.push(node2); - this._nodes.push(node2); - } - _endBlockNode(N1, N2) { - const n = this._currNode; - if (n instanceof N1 || N2 && n instanceof N2) { - this._nodes.pop(); - return this; - } - throw new Error(`CodeGen: not in block "${N2 ? `${N1.kind}/${N2.kind}` : N1.kind}"`); - } - _elseNode(node2) { - const n = this._currNode; - if (!(n instanceof If)) { - throw new Error('CodeGen: "else" without "if"'); - } - this._currNode = n.else = node2; - return this; - } - get _root() { - return this._nodes[0]; - } - get _currNode() { - const ns = this._nodes; - return ns[ns.length - 1]; - } - set _currNode(node2) { - const ns = this._nodes; - ns[ns.length - 1] = node2; - } - }; - exports.CodeGen = CodeGen; - function addNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) + (from[n] || 0); - return names; - } - function addExprNames(names, from) { - return from instanceof code_1._CodeOrName ? addNames(names, from.names) : names; - } - function optimizeExpr(expr, names, constants) { - if (expr instanceof code_1.Name) - return replaceName(expr); - if (!canOptimize(expr)) - return expr; - return new code_1._Code(expr._items.reduce((items, c) => { - if (c instanceof code_1.Name) - c = replaceName(c); - if (c instanceof code_1._Code) - items.push(...c._items); - else - items.push(c); - return items; - }, [])); - function replaceName(n) { - const c = constants[n.str]; - if (c === void 0 || names[n.str] !== 1) - return n; - delete names[n.str]; - return c; - } - function canOptimize(e) { - return e instanceof code_1._Code && e._items.some((c) => c instanceof code_1.Name && names[c.str] === 1 && constants[c.str] !== void 0); - } - } - function subtractNames(names, from) { - for (const n in from) - names[n] = (names[n] || 0) - (from[n] || 0); - } - function not(x) { - return typeof x == "boolean" || typeof x == "number" || x === null ? !x : (0, code_1._)`!${par(x)}`; - } - exports.not = not; - var andCode = mappend(exports.operators.AND); - function and(...args2) { - return args2.reduce(andCode); - } - exports.and = and; - var orCode = mappend(exports.operators.OR); - function or(...args2) { - return args2.reduce(orCode); - } - exports.or = or; - function mappend(op) { - return (x, y) => x === code_1.nil ? y : y === code_1.nil ? x : (0, code_1._)`${par(x)} ${op} ${par(y)}`; - } - function par(x) { - return x instanceof code_1.Name ? x : (0, code_1._)`(${x})`; - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js -var require_util16 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/util.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0; - var codegen_1 = require_codegen3(); - var code_1 = require_code4(); - function toHash(arr) { - const hash2 = {}; - for (const item of arr) - hash2[item] = true; - return hash2; - } - exports.toHash = toHash; - function alwaysValidSchema(it, schema2) { - if (typeof schema2 == "boolean") - return schema2; - if (Object.keys(schema2).length === 0) - return true; - checkUnknownRules(it, schema2); - return !schemaHasRules(schema2, it.self.RULES.all); - } - exports.alwaysValidSchema = alwaysValidSchema; - function checkUnknownRules(it, schema2 = it.schema) { - const { opts, self: self2 } = it; - if (!opts.strictSchema) - return; - if (typeof schema2 === "boolean") - return; - const rules = self2.RULES.keywords; - for (const key in schema2) { - if (!rules[key]) - checkStrictMode(it, `unknown keyword: "${key}"`); - } - } - exports.checkUnknownRules = checkUnknownRules; - function schemaHasRules(schema2, rules) { - if (typeof schema2 == "boolean") - return !schema2; - for (const key in schema2) - if (rules[key]) - return true; - return false; - } - exports.schemaHasRules = schemaHasRules; - function schemaHasRulesButRef(schema2, RULES) { - if (typeof schema2 == "boolean") - return !schema2; - for (const key in schema2) - if (key !== "$ref" && RULES.all[key]) - return true; - return false; - } - exports.schemaHasRulesButRef = schemaHasRulesButRef; - function schemaRefOrVal({ topSchemaRef, schemaPath }, schema2, keyword, $data) { - if (!$data) { - if (typeof schema2 == "number" || typeof schema2 == "boolean") - return schema2; - if (typeof schema2 == "string") - return (0, codegen_1._)`${schema2}`; - } - return (0, codegen_1._)`${topSchemaRef}${schemaPath}${(0, codegen_1.getProperty)(keyword)}`; - } - exports.schemaRefOrVal = schemaRefOrVal; - function unescapeFragment(str) { - return unescapeJsonPointer(decodeURIComponent(str)); - } - exports.unescapeFragment = unescapeFragment; - function escapeFragment(str) { - return encodeURIComponent(escapeJsonPointer(str)); - } - exports.escapeFragment = escapeFragment; - function escapeJsonPointer(str) { - if (typeof str == "number") - return `${str}`; - return str.replace(/~/g, "~0").replace(/\//g, "~1"); - } - exports.escapeJsonPointer = escapeJsonPointer; - function unescapeJsonPointer(str) { - return str.replace(/~1/g, "/").replace(/~0/g, "~"); - } - exports.unescapeJsonPointer = unescapeJsonPointer; - function eachItem(xs, f) { - if (Array.isArray(xs)) { - for (const x of xs) - f(x); - } else { - f(xs); - } - } - exports.eachItem = eachItem; - function makeMergeEvaluated({ mergeNames, mergeToName, mergeValues: mergeValues4, resultToName }) { - return (gen, from, to, toName) => { - const res = to === void 0 ? from : to instanceof codegen_1.Name ? (from instanceof codegen_1.Name ? mergeNames(gen, from, to) : mergeToName(gen, from, to), to) : from instanceof codegen_1.Name ? (mergeToName(gen, to, from), from) : mergeValues4(from, to); - return toName === codegen_1.Name && !(res instanceof codegen_1.Name) ? resultToName(gen, res) : res; - }; - } - exports.mergeEvaluated = { - props: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => { - gen.if((0, codegen_1._)`${from} === true`, () => gen.assign(to, true), () => gen.assign(to, (0, codegen_1._)`${to} || {}`).code((0, codegen_1._)`Object.assign(${to}, ${from})`)); - }), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => { - if (from === true) { - gen.assign(to, true); - } else { - gen.assign(to, (0, codegen_1._)`${to} || {}`); - setEvaluated(gen, to, from); - } - }), - mergeValues: (from, to) => from === true ? true : { ...from, ...to }, - resultToName: evaluatedPropsToName - }), - items: makeMergeEvaluated({ - mergeNames: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true && ${from} !== undefined`, () => gen.assign(to, (0, codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)), - mergeToName: (gen, from, to) => gen.if((0, codegen_1._)`${to} !== true`, () => gen.assign(to, from === true ? true : (0, codegen_1._)`${to} > ${from} ? ${to} : ${from}`)), - mergeValues: (from, to) => from === true ? true : Math.max(from, to), - resultToName: (gen, items) => gen.var("items", items) - }) - }; - function evaluatedPropsToName(gen, ps) { - if (ps === true) - return gen.var("props", true); - const props = gen.var("props", (0, codegen_1._)`{}`); - if (ps !== void 0) - setEvaluated(gen, props, ps); - return props; - } - exports.evaluatedPropsToName = evaluatedPropsToName; - function setEvaluated(gen, props, ps) { - Object.keys(ps).forEach((p) => gen.assign((0, codegen_1._)`${props}${(0, codegen_1.getProperty)(p)}`, true)); - } - exports.setEvaluated = setEvaluated; - var snippets = {}; - function useFunc(gen, f) { - return gen.scopeValue("func", { - ref: f, - code: snippets[f.code] || (snippets[f.code] = new code_1._Code(f.code)) - }); - } - exports.useFunc = useFunc; - var Type2; - (function(Type3) { - Type3[Type3["Num"] = 0] = "Num"; - Type3[Type3["Str"] = 1] = "Str"; - })(Type2 || (exports.Type = Type2 = {})); - function getErrorPath(dataProp, dataPropType, jsPropertySyntax) { - if (dataProp instanceof codegen_1.Name) { - const isNumber2 = dataPropType === Type2.Num; - return jsPropertySyntax ? isNumber2 ? (0, codegen_1._)`"[" + ${dataProp} + "]"` : (0, codegen_1._)`"['" + ${dataProp} + "']"` : isNumber2 ? (0, codegen_1._)`"/" + ${dataProp}` : (0, codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`; - } - return jsPropertySyntax ? (0, codegen_1.getProperty)(dataProp).toString() : "/" + escapeJsonPointer(dataProp); - } - exports.getErrorPath = getErrorPath; - function checkStrictMode(it, msg, mode = it.opts.strictSchema) { - if (!mode) - return; - msg = `strict mode: ${msg}`; - if (mode === true) - throw new Error(msg); - it.self.logger.warn(msg); - } - exports.checkStrictMode = checkStrictMode; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js -var require_names3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/names.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var names = { - // validation function arguments - data: new codegen_1.Name("data"), - // data passed to validation function - // args passed from referencing schema - valCxt: new codegen_1.Name("valCxt"), - // validation/data context - should not be used directly, it is destructured to the names below - instancePath: new codegen_1.Name("instancePath"), - parentData: new codegen_1.Name("parentData"), - parentDataProperty: new codegen_1.Name("parentDataProperty"), - rootData: new codegen_1.Name("rootData"), - // root data - same as the data passed to the first/top validation function - dynamicAnchors: new codegen_1.Name("dynamicAnchors"), - // used to support recursiveRef and dynamicRef - // function scoped variables - vErrors: new codegen_1.Name("vErrors"), - // null or array of validation errors - errors: new codegen_1.Name("errors"), - // counter of validation errors - this: new codegen_1.Name("this"), - // "globals" - self: new codegen_1.Name("self"), - scope: new codegen_1.Name("scope"), - // JTD serialize/parse name for JSON string and position - json: new codegen_1.Name("json"), - jsonPos: new codegen_1.Name("jsonPos"), - jsonLen: new codegen_1.Name("jsonLen"), - jsonPart: new codegen_1.Name("jsonPart") - }; - exports.default = names; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js -var require_errors5 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var names_1 = require_names3(); - exports.keywordError = { - message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation` - }; - exports.keyword$DataError = { - message: ({ keyword, schemaType }) => schemaType ? (0, codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)` : (0, codegen_1.str)`"${keyword}" keyword is invalid ($data)` - }; - function reportError(cxt, error49 = exports.keywordError, errorPaths, overrideAllErrors) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error49, errorPaths); - if (overrideAllErrors !== null && overrideAllErrors !== void 0 ? overrideAllErrors : compositeRule || allErrors) { - addError(gen, errObj); - } else { - returnErrors(it, (0, codegen_1._)`[${errObj}]`); - } - } - exports.reportError = reportError; - function reportExtraError(cxt, error49 = exports.keywordError, errorPaths) { - const { it } = cxt; - const { gen, compositeRule, allErrors } = it; - const errObj = errorObjectCode(cxt, error49, errorPaths); - addError(gen, errObj); - if (!(compositeRule || allErrors)) { - returnErrors(it, names_1.default.vErrors); - } - } - exports.reportExtraError = reportExtraError; - function resetErrorsCount(gen, errsCount) { - gen.assign(names_1.default.errors, errsCount); - gen.if((0, codegen_1._)`${names_1.default.vErrors} !== null`, () => gen.if(errsCount, () => gen.assign((0, codegen_1._)`${names_1.default.vErrors}.length`, errsCount), () => gen.assign(names_1.default.vErrors, null))); - } - exports.resetErrorsCount = resetErrorsCount; - function extendErrors({ gen, keyword, schemaValue, data, errsCount, it }) { - if (errsCount === void 0) - throw new Error("ajv implementation error"); - const err = gen.name("err"); - gen.forRange("i", errsCount, names_1.default.errors, (i) => { - gen.const(err, (0, codegen_1._)`${names_1.default.vErrors}[${i}]`); - gen.if((0, codegen_1._)`${err}.instancePath === undefined`, () => gen.assign((0, codegen_1._)`${err}.instancePath`, (0, codegen_1.strConcat)(names_1.default.instancePath, it.errorPath))); - gen.assign((0, codegen_1._)`${err}.schemaPath`, (0, codegen_1.str)`${it.errSchemaPath}/${keyword}`); - if (it.opts.verbose) { - gen.assign((0, codegen_1._)`${err}.schema`, schemaValue); - gen.assign((0, codegen_1._)`${err}.data`, data); - } - }); - } - exports.extendErrors = extendErrors; - function addError(gen, errObj) { - const err = gen.const("err", errObj); - gen.if((0, codegen_1._)`${names_1.default.vErrors} === null`, () => gen.assign(names_1.default.vErrors, (0, codegen_1._)`[${err}]`), (0, codegen_1._)`${names_1.default.vErrors}.push(${err})`); - gen.code((0, codegen_1._)`${names_1.default.errors}++`); - } - function returnErrors(it, errs) { - const { gen, validateName, schemaEnv } = it; - if (schemaEnv.$async) { - gen.throw((0, codegen_1._)`new ${it.ValidationError}(${errs})`); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, errs); - gen.return(false); - } - } - var E = { - keyword: new codegen_1.Name("keyword"), - schemaPath: new codegen_1.Name("schemaPath"), - // also used in JTD errors - params: new codegen_1.Name("params"), - propertyName: new codegen_1.Name("propertyName"), - message: new codegen_1.Name("message"), - schema: new codegen_1.Name("schema"), - parentSchema: new codegen_1.Name("parentSchema") - }; - function errorObjectCode(cxt, error49, errorPaths) { - const { createErrors } = cxt.it; - if (createErrors === false) - return (0, codegen_1._)`{}`; - return errorObject(cxt, error49, errorPaths); - } - function errorObject(cxt, error49, errorPaths = {}) { - const { gen, it } = cxt; - const keyValues = [ - errorInstancePath(it, errorPaths), - errorSchemaPath(cxt, errorPaths) - ]; - extraErrorProps(cxt, error49, keyValues); - return gen.object(...keyValues); - } - function errorInstancePath({ errorPath }, { instancePath }) { - const instPath = instancePath ? (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(instancePath, util_1.Type.Str)}` : errorPath; - return [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, instPath)]; - } - function errorSchemaPath({ keyword, it: { errSchemaPath } }, { schemaPath, parentSchema }) { - let schPath = parentSchema ? errSchemaPath : (0, codegen_1.str)`${errSchemaPath}/${keyword}`; - if (schemaPath) { - schPath = (0, codegen_1.str)`${schPath}${(0, util_1.getErrorPath)(schemaPath, util_1.Type.Str)}`; - } - return [E.schemaPath, schPath]; - } - function extraErrorProps(cxt, { params, message }, keyValues) { - const { keyword, data, schemaValue, it } = cxt; - const { opts, propertyName, topSchemaRef, schemaPath } = it; - keyValues.push([E.keyword, keyword], [E.params, typeof params == "function" ? params(cxt) : params || (0, codegen_1._)`{}`]); - if (opts.messages) { - keyValues.push([E.message, typeof message == "function" ? message(cxt) : message]); - } - if (opts.verbose) { - keyValues.push([E.schema, schemaValue], [E.parentSchema, (0, codegen_1._)`${topSchemaRef}${schemaPath}`], [names_1.default.data, data]); - } - if (propertyName) - keyValues.push([E.propertyName, propertyName]); - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js -var require_boolSchema3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0; - var errors_1 = require_errors5(); - var codegen_1 = require_codegen3(); - var names_1 = require_names3(); - var boolError = { - message: "boolean schema is false" - }; - function topBoolOrEmptySchema(it) { - const { gen, schema: schema2, validateName } = it; - if (schema2 === false) { - falseSchemaError(it, false); - } else if (typeof schema2 == "object" && schema2.$async === true) { - gen.return(names_1.default.data); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, null); - gen.return(true); - } - } - exports.topBoolOrEmptySchema = topBoolOrEmptySchema; - function boolOrEmptySchema(it, valid) { - const { gen, schema: schema2 } = it; - if (schema2 === false) { - gen.var(valid, false); - falseSchemaError(it); - } else { - gen.var(valid, true); - } - } - exports.boolOrEmptySchema = boolOrEmptySchema; - function falseSchemaError(it, overrideAllErrors) { - const { gen, data } = it; - const cxt = { - gen, - keyword: "false schema", - data, - schema: false, - schemaCode: false, - schemaValue: false, - params: {}, - it - }; - (0, errors_1.reportError)(cxt, boolError, void 0, overrideAllErrors); - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js -var require_rules3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getRules = exports.isJSONType = void 0; - var _jsonTypes = ["string", "number", "integer", "boolean", "null", "object", "array"]; - var jsonTypes = new Set(_jsonTypes); - function isJSONType(x) { - return typeof x == "string" && jsonTypes.has(x); - } - exports.isJSONType = isJSONType; - function getRules() { - const groups2 = { - number: { type: "number", rules: [] }, - string: { type: "string", rules: [] }, - array: { type: "array", rules: [] }, - object: { type: "object", rules: [] } - }; - return { - types: { ...groups2, integer: true, boolean: true, null: true }, - rules: [{ rules: [] }, groups2.number, groups2.string, groups2.array, groups2.object], - post: { rules: [] }, - all: {}, - keywords: {} - }; - } - exports.getRules = getRules; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js -var require_applicability3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0; - function schemaHasRulesForType({ schema: schema2, self: self2 }, type2) { - const group2 = self2.RULES.types[type2]; - return group2 && group2 !== true && shouldUseGroup(schema2, group2); - } - exports.schemaHasRulesForType = schemaHasRulesForType; - function shouldUseGroup(schema2, group2) { - return group2.rules.some((rule) => shouldUseRule(schema2, rule)); - } - exports.shouldUseGroup = shouldUseGroup; - function shouldUseRule(schema2, rule) { - var _a2; - return schema2[rule.keyword] !== void 0 || ((_a2 = rule.definition.implements) === null || _a2 === void 0 ? void 0 : _a2.some((kwd) => schema2[kwd] !== void 0)); - } - exports.shouldUseRule = shouldUseRule; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js -var require_dataType3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0; - var rules_1 = require_rules3(); - var applicability_1 = require_applicability3(); - var errors_1 = require_errors5(); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var DataType; - (function(DataType2) { - DataType2[DataType2["Correct"] = 0] = "Correct"; - DataType2[DataType2["Wrong"] = 1] = "Wrong"; - })(DataType || (exports.DataType = DataType = {})); - function getSchemaTypes(schema2) { - const types = getJSONTypes(schema2.type); - const hasNull = types.includes("null"); - if (hasNull) { - if (schema2.nullable === false) - throw new Error("type: null contradicts nullable: false"); - } else { - if (!types.length && schema2.nullable !== void 0) { - throw new Error('"nullable" cannot be used without "type"'); - } - if (schema2.nullable === true) - types.push("null"); - } - return types; - } - exports.getSchemaTypes = getSchemaTypes; - function getJSONTypes(ts2) { - const types = Array.isArray(ts2) ? ts2 : ts2 ? [ts2] : []; - if (types.every(rules_1.isJSONType)) - return types; - throw new Error("type must be JSONType or JSONType[]: " + types.join(",")); - } - exports.getJSONTypes = getJSONTypes; - function coerceAndCheckDataType(it, types) { - const { gen, data, opts } = it; - const coerceTo = coerceToTypes(types, opts.coerceTypes); - const checkTypes = types.length > 0 && !(coerceTo.length === 0 && types.length === 1 && (0, applicability_1.schemaHasRulesForType)(it, types[0])); - if (checkTypes) { - const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong); - gen.if(wrongType, () => { - if (coerceTo.length) - coerceData(it, types, coerceTo); - else - reportTypeError(it); - }); - } - return checkTypes; - } - exports.coerceAndCheckDataType = coerceAndCheckDataType; - var COERCIBLE = /* @__PURE__ */ new Set(["string", "number", "integer", "boolean", "null"]); - function coerceToTypes(types, coerceTypes) { - return coerceTypes ? types.filter((t) => COERCIBLE.has(t) || coerceTypes === "array" && t === "array") : []; - } - function coerceData(it, types, coerceTo) { - const { gen, data, opts } = it; - const dataType = gen.let("dataType", (0, codegen_1._)`typeof ${data}`); - const coerced = gen.let("coerced", (0, codegen_1._)`undefined`); - if (opts.coerceTypes === "array") { - gen.if((0, codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () => gen.assign(data, (0, codegen_1._)`${data}[0]`).assign(dataType, (0, codegen_1._)`typeof ${data}`).if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))); - } - gen.if((0, codegen_1._)`${coerced} !== undefined`); - for (const t of coerceTo) { - if (COERCIBLE.has(t) || t === "array" && opts.coerceTypes === "array") { - coerceSpecificType(t); - } - } - gen.else(); - reportTypeError(it); - gen.endIf(); - gen.if((0, codegen_1._)`${coerced} !== undefined`, () => { - gen.assign(data, coerced); - assignParentData(it, coerced); - }); - function coerceSpecificType(t) { - switch (t) { - case "string": - gen.elseIf((0, codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`).assign(coerced, (0, codegen_1._)`"" + ${data}`).elseIf((0, codegen_1._)`${data} === null`).assign(coerced, (0, codegen_1._)`""`); - return; - case "number": - gen.elseIf((0, codegen_1._)`${dataType} == "boolean" || ${data} === null - || (${dataType} == "string" && ${data} && ${data} == +${data})`).assign(coerced, (0, codegen_1._)`+${data}`); - return; - case "integer": - gen.elseIf((0, codegen_1._)`${dataType} === "boolean" || ${data} === null - || (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`).assign(coerced, (0, codegen_1._)`+${data}`); - return; - case "boolean": - gen.elseIf((0, codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`).assign(coerced, false).elseIf((0, codegen_1._)`${data} === "true" || ${data} === 1`).assign(coerced, true); - return; - case "null": - gen.elseIf((0, codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`); - gen.assign(coerced, null); - return; - case "array": - gen.elseIf((0, codegen_1._)`${dataType} === "string" || ${dataType} === "number" - || ${dataType} === "boolean" || ${data} === null`).assign(coerced, (0, codegen_1._)`[${data}]`); - } - } - } - function assignParentData({ gen, parentData, parentDataProperty }, expr) { - gen.if((0, codegen_1._)`${parentData} !== undefined`, () => gen.assign((0, codegen_1._)`${parentData}[${parentDataProperty}]`, expr)); - } - function checkDataType(dataType, data, strictNums, correct = DataType.Correct) { - const EQ = correct === DataType.Correct ? codegen_1.operators.EQ : codegen_1.operators.NEQ; - let cond; - switch (dataType) { - case "null": - return (0, codegen_1._)`${data} ${EQ} null`; - case "array": - cond = (0, codegen_1._)`Array.isArray(${data})`; - break; - case "object": - cond = (0, codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`; - break; - case "integer": - cond = numCond((0, codegen_1._)`!(${data} % 1) && !isNaN(${data})`); - break; - case "number": - cond = numCond(); - break; - default: - return (0, codegen_1._)`typeof ${data} ${EQ} ${dataType}`; - } - return correct === DataType.Correct ? cond : (0, codegen_1.not)(cond); - function numCond(_cond = codegen_1.nil) { - return (0, codegen_1.and)((0, codegen_1._)`typeof ${data} == "number"`, _cond, strictNums ? (0, codegen_1._)`isFinite(${data})` : codegen_1.nil); - } - } - exports.checkDataType = checkDataType; - function checkDataTypes(dataTypes, data, strictNums, correct) { - if (dataTypes.length === 1) { - return checkDataType(dataTypes[0], data, strictNums, correct); - } - let cond; - const types = (0, util_1.toHash)(dataTypes); - if (types.array && types.object) { - const notObj = (0, codegen_1._)`typeof ${data} != "object"`; - cond = types.null ? notObj : (0, codegen_1._)`!${data} || ${notObj}`; - delete types.null; - delete types.array; - delete types.object; - } else { - cond = codegen_1.nil; - } - if (types.number) - delete types.integer; - for (const t in types) - cond = (0, codegen_1.and)(cond, checkDataType(t, data, strictNums, correct)); - return cond; - } - exports.checkDataTypes = checkDataTypes; - var typeError = { - message: ({ schema: schema2 }) => `must be ${schema2}`, - params: ({ schema: schema2, schemaValue }) => typeof schema2 == "string" ? (0, codegen_1._)`{type: ${schema2}}` : (0, codegen_1._)`{type: ${schemaValue}}` - }; - function reportTypeError(it) { - const cxt = getTypeErrorContext(it); - (0, errors_1.reportError)(cxt, typeError); - } - exports.reportTypeError = reportTypeError; - function getTypeErrorContext(it) { - const { gen, data, schema: schema2 } = it; - const schemaCode = (0, util_1.schemaRefOrVal)(it, schema2, "type"); - return { - gen, - keyword: "type", - data, - schema: schema2.type, - schemaCode, - schemaValue: schemaCode, - parentSchema: schema2, - params: {}, - it - }; - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js -var require_defaults3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.assignDefaults = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - function assignDefaults(it, ty) { - const { properties, items } = it.schema; - if (ty === "object" && properties) { - for (const key in properties) { - assignDefault(it, key, properties[key].default); - } - } else if (ty === "array" && Array.isArray(items)) { - items.forEach((sch, i) => assignDefault(it, i, sch.default)); - } - } - exports.assignDefaults = assignDefaults; - function assignDefault(it, prop, defaultValue) { - const { gen, compositeRule, data, opts } = it; - if (defaultValue === void 0) - return; - const childData = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(prop)}`; - if (compositeRule) { - (0, util_1.checkStrictMode)(it, `default is ignored for: ${childData}`); - return; - } - let condition = (0, codegen_1._)`${childData} === undefined`; - if (opts.useDefaults === "empty") { - condition = (0, codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`; - } - gen.if(condition, (0, codegen_1._)`${childData} = ${(0, codegen_1.stringify)(defaultValue)}`); - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js -var require_code5 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var names_1 = require_names3(); - var util_2 = require_util16(); - function checkReportMissingProp(cxt, prop) { - const { gen, data, it } = cxt; - gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => { - cxt.setParams({ missingProperty: (0, codegen_1._)`${prop}` }, true); - cxt.error(); - }); - } - exports.checkReportMissingProp = checkReportMissingProp; - function checkMissingProp({ gen, data, it: { opts } }, properties, missing) { - return (0, codegen_1.or)(...properties.map((prop) => (0, codegen_1.and)(noPropertyInData(gen, data, prop, opts.ownProperties), (0, codegen_1._)`${missing} = ${prop}`))); - } - exports.checkMissingProp = checkMissingProp; - function reportMissingProp(cxt, missing) { - cxt.setParams({ missingProperty: missing }, true); - cxt.error(); - } - exports.reportMissingProp = reportMissingProp; - function hasPropFunc(gen) { - return gen.scopeValue("func", { - // eslint-disable-next-line @typescript-eslint/unbound-method - ref: Object.prototype.hasOwnProperty, - code: (0, codegen_1._)`Object.prototype.hasOwnProperty` - }); - } - exports.hasPropFunc = hasPropFunc; - function isOwnProperty(gen, data, property) { - return (0, codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`; - } - exports.isOwnProperty = isOwnProperty; - function propertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} !== undefined`; - return ownProperties ? (0, codegen_1._)`${cond} && ${isOwnProperty(gen, data, property)}` : cond; - } - exports.propertyInData = propertyInData; - function noPropertyInData(gen, data, property, ownProperties) { - const cond = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(property)} === undefined`; - return ownProperties ? (0, codegen_1.or)(cond, (0, codegen_1.not)(isOwnProperty(gen, data, property))) : cond; - } - exports.noPropertyInData = noPropertyInData; - function allSchemaProperties(schemaMap) { - return schemaMap ? Object.keys(schemaMap).filter((p) => p !== "__proto__") : []; - } - exports.allSchemaProperties = allSchemaProperties; - function schemaProperties(it, schemaMap) { - return allSchemaProperties(schemaMap).filter((p) => !(0, util_1.alwaysValidSchema)(it, schemaMap[p])); - } - exports.schemaProperties = schemaProperties; - function callValidateCode({ schemaCode, data, it: { gen, topSchemaRef, schemaPath, errorPath }, it }, func, context, passSchema) { - const dataAndSchema = passSchema ? (0, codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}` : data; - const valCxt = [ - [names_1.default.instancePath, (0, codegen_1.strConcat)(names_1.default.instancePath, errorPath)], - [names_1.default.parentData, it.parentData], - [names_1.default.parentDataProperty, it.parentDataProperty], - [names_1.default.rootData, names_1.default.rootData] - ]; - if (it.opts.dynamicRef) - valCxt.push([names_1.default.dynamicAnchors, names_1.default.dynamicAnchors]); - const args2 = (0, codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`; - return context !== codegen_1.nil ? (0, codegen_1._)`${func}.call(${context}, ${args2})` : (0, codegen_1._)`${func}(${args2})`; - } - exports.callValidateCode = callValidateCode; - var newRegExp = (0, codegen_1._)`new RegExp`; - function usePattern({ gen, it: { opts } }, pattern) { - const u = opts.unicodeRegExp ? "u" : ""; - const { regExp } = opts.code; - const rx = regExp(pattern, u); - return gen.scopeValue("pattern", { - key: rx.toString(), - ref: rx, - code: (0, codegen_1._)`${regExp.code === "new RegExp" ? newRegExp : (0, util_2.useFunc)(gen, regExp)}(${pattern}, ${u})` - }); - } - exports.usePattern = usePattern; - function validateArray(cxt) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - if (it.allErrors) { - const validArr = gen.let("valid", true); - validateItems(() => gen.assign(validArr, false)); - return validArr; - } - gen.var(valid, true); - validateItems(() => gen.break()); - return valid; - function validateItems(notValid) { - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword, - dataProp: i, - dataPropType: util_1.Type.Num - }, valid); - gen.if((0, codegen_1.not)(valid), notValid); - }); - } - } - exports.validateArray = validateArray; - function validateUnion(cxt) { - const { gen, schema: schema2, keyword, it } = cxt; - if (!Array.isArray(schema2)) - throw new Error("ajv implementation error"); - const alwaysValid = schema2.some((sch) => (0, util_1.alwaysValidSchema)(it, sch)); - if (alwaysValid && !it.opts.unevaluated) - return; - const valid = gen.let("valid", false); - const schValid = gen.name("_valid"); - gen.block(() => schema2.forEach((_sch, i) => { - const schCxt = cxt.subschema({ - keyword, - schemaProp: i, - compositeRule: true - }, schValid); - gen.assign(valid, (0, codegen_1._)`${valid} || ${schValid}`); - const merged = cxt.mergeValidEvaluated(schCxt, schValid); - if (!merged) - gen.if((0, codegen_1.not)(valid)); - })); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); - } - exports.validateUnion = validateUnion; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js -var require_keyword3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0; - var codegen_1 = require_codegen3(); - var names_1 = require_names3(); - var code_1 = require_code5(); - var errors_1 = require_errors5(); - function macroKeywordCode(cxt, def) { - const { gen, keyword, schema: schema2, parentSchema, it } = cxt; - const macroSchema = def.macro.call(it.self, schema2, parentSchema, it); - const schemaRef = useKeyword(gen, keyword, macroSchema); - if (it.opts.validateSchema !== false) - it.self.validateSchema(macroSchema, true); - const valid = gen.name("valid"); - cxt.subschema({ - schema: macroSchema, - schemaPath: codegen_1.nil, - errSchemaPath: `${it.errSchemaPath}/${keyword}`, - topSchemaRef: schemaRef, - compositeRule: true - }, valid); - cxt.pass(valid, () => cxt.error(true)); - } - exports.macroKeywordCode = macroKeywordCode; - function funcKeywordCode(cxt, def) { - var _a2; - const { gen, keyword, schema: schema2, parentSchema, $data, it } = cxt; - checkAsyncKeyword(it, def); - const validate2 = !$data && def.compile ? def.compile.call(it.self, schema2, parentSchema, it) : def.validate; - const validateRef = useKeyword(gen, keyword, validate2); - const valid = gen.let("valid"); - cxt.block$data(valid, validateKeyword); - cxt.ok((_a2 = def.valid) !== null && _a2 !== void 0 ? _a2 : valid); - function validateKeyword() { - if (def.errors === false) { - assignValid(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => cxt.error()); - } else { - const ruleErrs = def.async ? validateAsync() : validateSync(); - if (def.modifying) - modifyData(cxt); - reportErrs(() => addErrs(cxt, ruleErrs)); - } - } - function validateAsync() { - const ruleErrs = gen.let("ruleErrs", null); - gen.try(() => assignValid((0, codegen_1._)`await `), (e) => gen.assign(valid, false).if((0, codegen_1._)`${e} instanceof ${it.ValidationError}`, () => gen.assign(ruleErrs, (0, codegen_1._)`${e}.errors`), () => gen.throw(e))); - return ruleErrs; - } - function validateSync() { - const validateErrs = (0, codegen_1._)`${validateRef}.errors`; - gen.assign(validateErrs, null); - assignValid(codegen_1.nil); - return validateErrs; - } - function assignValid(_await = def.async ? (0, codegen_1._)`await ` : codegen_1.nil) { - const passCxt = it.opts.passContext ? names_1.default.this : names_1.default.self; - const passSchema = !("compile" in def && !$data || def.schema === false); - gen.assign(valid, (0, codegen_1._)`${_await}${(0, code_1.callValidateCode)(cxt, validateRef, passCxt, passSchema)}`, def.modifying); - } - function reportErrs(errors) { - var _a3; - gen.if((0, codegen_1.not)((_a3 = def.valid) !== null && _a3 !== void 0 ? _a3 : valid), errors); - } - } - exports.funcKeywordCode = funcKeywordCode; - function modifyData(cxt) { - const { gen, data, it } = cxt; - gen.if(it.parentData, () => gen.assign(data, (0, codegen_1._)`${it.parentData}[${it.parentDataProperty}]`)); - } - function addErrs(cxt, errs) { - const { gen } = cxt; - gen.if((0, codegen_1._)`Array.isArray(${errs})`, () => { - gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); - (0, errors_1.extendErrors)(cxt); - }, () => cxt.error()); - } - function checkAsyncKeyword({ schemaEnv }, def) { - if (def.async && !schemaEnv.$async) - throw new Error("async keyword in sync schema"); - } - function useKeyword(gen, keyword, result) { - if (result === void 0) - throw new Error(`keyword "${keyword}" failed to compile`); - return gen.scopeValue("keyword", typeof result == "function" ? { ref: result } : { ref: result, code: (0, codegen_1.stringify)(result) }); - } - function validSchemaType(schema2, schemaType, allowUndefined = false) { - return !schemaType.length || schemaType.some((st) => st === "array" ? Array.isArray(schema2) : st === "object" ? schema2 && typeof schema2 == "object" && !Array.isArray(schema2) : typeof schema2 == st || allowUndefined && typeof schema2 == "undefined"); - } - exports.validSchemaType = validSchemaType; - function validateKeywordUsage({ schema: schema2, opts, self: self2, errSchemaPath }, def, keyword) { - if (Array.isArray(def.keyword) ? !def.keyword.includes(keyword) : def.keyword !== keyword) { - throw new Error("ajv implementation error"); - } - const deps = def.dependencies; - if (deps === null || deps === void 0 ? void 0 : deps.some((kwd) => !Object.prototype.hasOwnProperty.call(schema2, kwd))) { - throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`); - } - if (def.validateSchema) { - const valid = def.validateSchema(schema2[keyword]); - if (!valid) { - const msg = `keyword "${keyword}" value is invalid at path "${errSchemaPath}": ` + self2.errorsText(def.validateSchema.errors); - if (opts.validateSchema === "log") - self2.logger.error(msg); - else - throw new Error(msg); - } - } - } - exports.validateKeywordUsage = validateKeywordUsage; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js -var require_subschema3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - function getSubschema(it, { keyword, schemaProp, schema: schema2, schemaPath, errSchemaPath, topSchemaRef }) { - if (keyword !== void 0 && schema2 !== void 0) { - throw new Error('both "keyword" and "schema" passed, only one allowed'); - } - if (keyword !== void 0) { - const sch = it.schema[keyword]; - return schemaProp === void 0 ? { - schema: sch, - schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}` - } : { - schema: sch[schemaProp], - schemaPath: (0, codegen_1._)`${it.schemaPath}${(0, codegen_1.getProperty)(keyword)}${(0, codegen_1.getProperty)(schemaProp)}`, - errSchemaPath: `${it.errSchemaPath}/${keyword}/${(0, util_1.escapeFragment)(schemaProp)}` - }; - } - if (schema2 !== void 0) { - if (schemaPath === void 0 || errSchemaPath === void 0 || topSchemaRef === void 0) { - throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"'); - } - return { - schema: schema2, - schemaPath, - topSchemaRef, - errSchemaPath - }; - } - throw new Error('either "keyword" or "schema" must be passed'); - } - exports.getSubschema = getSubschema; - function extendSubschemaData(subschema, it, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }) { - if (data !== void 0 && dataProp !== void 0) { - throw new Error('both "data" and "dataProp" passed, only one allowed'); - } - const { gen } = it; - if (dataProp !== void 0) { - const { errorPath, dataPathArr, opts } = it; - const nextData = gen.let("data", (0, codegen_1._)`${it.data}${(0, codegen_1.getProperty)(dataProp)}`, true); - dataContextProps(nextData); - subschema.errorPath = (0, codegen_1.str)`${errorPath}${(0, util_1.getErrorPath)(dataProp, dpType, opts.jsPropertySyntax)}`; - subschema.parentDataProperty = (0, codegen_1._)`${dataProp}`; - subschema.dataPathArr = [...dataPathArr, subschema.parentDataProperty]; - } - if (data !== void 0) { - const nextData = data instanceof codegen_1.Name ? data : gen.let("data", data, true); - dataContextProps(nextData); - if (propertyName !== void 0) - subschema.propertyName = propertyName; - } - if (dataTypes) - subschema.dataTypes = dataTypes; - function dataContextProps(_nextData) { - subschema.data = _nextData; - subschema.dataLevel = it.dataLevel + 1; - subschema.dataTypes = []; - it.definedProperties = /* @__PURE__ */ new Set(); - subschema.parentData = it.data; - subschema.dataNames = [...it.dataNames, _nextData]; - } - } - exports.extendSubschemaData = extendSubschemaData; - function extendSubschemaMode(subschema, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }) { - if (compositeRule !== void 0) - subschema.compositeRule = compositeRule; - if (createErrors !== void 0) - subschema.createErrors = createErrors; - if (allErrors !== void 0) - subschema.allErrors = allErrors; - subschema.jtdDiscriminator = jtdDiscriminator; - subschema.jtdMetadata = jtdMetadata; - } - exports.extendSubschemaMode = extendSubschemaMode; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js -var require_resolve3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0; - var util_1 = require_util16(); - var equal = require_fast_deep_equal(); - var traverse = require_json_schema_traverse(); - var SIMPLE_INLINED = /* @__PURE__ */ new Set([ - "type", - "format", - "pattern", - "maxLength", - "minLength", - "maxProperties", - "minProperties", - "maxItems", - "minItems", - "maximum", - "minimum", - "uniqueItems", - "multipleOf", - "required", - "enum", - "const" - ]); - function inlineRef(schema2, limit = true) { - if (typeof schema2 == "boolean") - return true; - if (limit === true) - return !hasRef(schema2); - if (!limit) - return false; - return countKeys(schema2) <= limit; - } - exports.inlineRef = inlineRef; - var REF_KEYWORDS = /* @__PURE__ */ new Set([ - "$ref", - "$recursiveRef", - "$recursiveAnchor", - "$dynamicRef", - "$dynamicAnchor" - ]); - function hasRef(schema2) { - for (const key in schema2) { - if (REF_KEYWORDS.has(key)) - return true; - const sch = schema2[key]; - if (Array.isArray(sch) && sch.some(hasRef)) - return true; - if (typeof sch == "object" && hasRef(sch)) - return true; - } - return false; - } - function countKeys(schema2) { - let count = 0; - for (const key in schema2) { - if (key === "$ref") - return Infinity; - count++; - if (SIMPLE_INLINED.has(key)) - continue; - if (typeof schema2[key] == "object") { - (0, util_1.eachItem)(schema2[key], (sch) => count += countKeys(sch)); - } - if (count === Infinity) - return Infinity; - } - return count; - } - function getFullPath(resolver, id = "", normalize2) { - if (normalize2 !== false) - id = normalizeId(id); - const p = resolver.parse(id); - return _getFullPath(resolver, p); - } - exports.getFullPath = getFullPath; - function _getFullPath(resolver, p) { - const serialized = resolver.serialize(p); - return serialized.split("#")[0] + "#"; - } - exports._getFullPath = _getFullPath; - var TRAILING_SLASH_HASH = /#\/?$/; - function normalizeId(id) { - return id ? id.replace(TRAILING_SLASH_HASH, "") : ""; - } - exports.normalizeId = normalizeId; - function resolveUrl(resolver, baseId, id) { - id = normalizeId(id); - return resolver.resolve(baseId, id); - } - exports.resolveUrl = resolveUrl; - var ANCHOR = /^[a-z_][-a-z0-9._]*$/i; - function getSchemaRefs(schema2, baseId) { - if (typeof schema2 == "boolean") - return {}; - const { schemaId, uriResolver } = this.opts; - const schId = normalizeId(schema2[schemaId] || baseId); - const baseIds = { "": schId }; - const pathPrefix = getFullPath(uriResolver, schId, false); - const localRefs = {}; - const schemaRefs = /* @__PURE__ */ new Set(); - traverse(schema2, { allKeys: true }, (sch, jsonPtr, _, parentJsonPtr) => { - if (parentJsonPtr === void 0) - return; - const fullPath = pathPrefix + jsonPtr; - let innerBaseId = baseIds[parentJsonPtr]; - if (typeof sch[schemaId] == "string") - innerBaseId = addRef.call(this, sch[schemaId]); - addAnchor.call(this, sch.$anchor); - addAnchor.call(this, sch.$dynamicAnchor); - baseIds[jsonPtr] = innerBaseId; - function addRef(ref) { - const _resolve = this.opts.uriResolver.resolve; - ref = normalizeId(innerBaseId ? _resolve(innerBaseId, ref) : ref); - if (schemaRefs.has(ref)) - throw ambiguos(ref); - schemaRefs.add(ref); - let schOrRef = this.refs[ref]; - if (typeof schOrRef == "string") - schOrRef = this.refs[schOrRef]; - if (typeof schOrRef == "object") { - checkAmbiguosRef(sch, schOrRef.schema, ref); - } else if (ref !== normalizeId(fullPath)) { - if (ref[0] === "#") { - checkAmbiguosRef(sch, localRefs[ref], ref); - localRefs[ref] = sch; - } else { - this.refs[ref] = fullPath; - } - } - return ref; - } - function addAnchor(anchor) { - if (typeof anchor == "string") { - if (!ANCHOR.test(anchor)) - throw new Error(`invalid anchor "${anchor}"`); - addRef.call(this, `#${anchor}`); - } - } - }); - return localRefs; - function checkAmbiguosRef(sch1, sch2, ref) { - if (sch2 !== void 0 && !equal(sch1, sch2)) - throw ambiguos(ref); - } - function ambiguos(ref) { - return new Error(`reference "${ref}" resolves to more than one schema`); - } - } - exports.getSchemaRefs = getSchemaRefs; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js -var require_validate3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0; - var boolSchema_1 = require_boolSchema3(); - var dataType_1 = require_dataType3(); - var applicability_1 = require_applicability3(); - var dataType_2 = require_dataType3(); - var defaults_1 = require_defaults3(); - var keyword_1 = require_keyword3(); - var subschema_1 = require_subschema3(); - var codegen_1 = require_codegen3(); - var names_1 = require_names3(); - var resolve_1 = require_resolve3(); - var util_1 = require_util16(); - var errors_1 = require_errors5(); - function validateFunctionCode(it) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - topSchemaObjCode(it); - return; - } - } - validateFunction(it, () => (0, boolSchema_1.topBoolOrEmptySchema)(it)); - } - exports.validateFunctionCode = validateFunctionCode; - function validateFunction({ gen, validateName, schema: schema2, schemaEnv, opts }, body) { - if (opts.code.es5) { - gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`, schemaEnv.$async, () => { - gen.code((0, codegen_1._)`"use strict"; ${funcSourceUrl(schema2, opts)}`); - destructureValCxtES5(gen, opts); - gen.code(body); - }); - } else { - gen.func(validateName, (0, codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`, schemaEnv.$async, () => gen.code(funcSourceUrl(schema2, opts)).code(body)); - } - } - function destructureValCxt(opts) { - return (0, codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef ? (0, codegen_1._)`, ${names_1.default.dynamicAnchors}={}` : codegen_1.nil}}={}`; - } - function destructureValCxtES5(gen, opts) { - gen.if(names_1.default.valCxt, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`); - gen.var(names_1.default.parentData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`); - gen.var(names_1.default.rootData, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`); - }, () => { - gen.var(names_1.default.instancePath, (0, codegen_1._)`""`); - gen.var(names_1.default.parentData, (0, codegen_1._)`undefined`); - gen.var(names_1.default.parentDataProperty, (0, codegen_1._)`undefined`); - gen.var(names_1.default.rootData, names_1.default.data); - if (opts.dynamicRef) - gen.var(names_1.default.dynamicAnchors, (0, codegen_1._)`{}`); - }); - } - function topSchemaObjCode(it) { - const { schema: schema2, opts, gen } = it; - validateFunction(it, () => { - if (opts.$comment && schema2.$comment) - commentKeyword(it); - checkNoDefault(it); - gen.let(names_1.default.vErrors, null); - gen.let(names_1.default.errors, 0); - if (opts.unevaluated) - resetEvaluated(it); - typeAndKeywords(it); - returnResults(it); - }); - return; - } - function resetEvaluated(it) { - const { gen, validateName } = it; - it.evaluated = gen.const("evaluated", (0, codegen_1._)`${validateName}.evaluated`); - gen.if((0, codegen_1._)`${it.evaluated}.dynamicProps`, () => gen.assign((0, codegen_1._)`${it.evaluated}.props`, (0, codegen_1._)`undefined`)); - gen.if((0, codegen_1._)`${it.evaluated}.dynamicItems`, () => gen.assign((0, codegen_1._)`${it.evaluated}.items`, (0, codegen_1._)`undefined`)); - } - function funcSourceUrl(schema2, opts) { - const schId = typeof schema2 == "object" && schema2[opts.schemaId]; - return schId && (opts.code.source || opts.code.process) ? (0, codegen_1._)`/*# sourceURL=${schId} */` : codegen_1.nil; - } - function subschemaCode(it, valid) { - if (isSchemaObj(it)) { - checkKeywords(it); - if (schemaCxtHasRules(it)) { - subSchemaObjCode(it, valid); - return; - } - } - (0, boolSchema_1.boolOrEmptySchema)(it, valid); - } - function schemaCxtHasRules({ schema: schema2, self: self2 }) { - if (typeof schema2 == "boolean") - return !schema2; - for (const key in schema2) - if (self2.RULES.all[key]) - return true; - return false; - } - function isSchemaObj(it) { - return typeof it.schema != "boolean"; - } - function subSchemaObjCode(it, valid) { - const { schema: schema2, gen, opts } = it; - if (opts.$comment && schema2.$comment) - commentKeyword(it); - updateContext(it); - checkAsyncSchema(it); - const errsCount = gen.const("_errs", names_1.default.errors); - typeAndKeywords(it, errsCount); - gen.var(valid, (0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); - } - function checkKeywords(it) { - (0, util_1.checkUnknownRules)(it); - checkRefsAndKeywords(it); - } - function typeAndKeywords(it, errsCount) { - if (it.opts.jtd) - return schemaKeywords(it, [], false, errsCount); - const types = (0, dataType_1.getSchemaTypes)(it.schema); - const checkedTypes = (0, dataType_1.coerceAndCheckDataType)(it, types); - schemaKeywords(it, types, !checkedTypes, errsCount); - } - function checkRefsAndKeywords(it) { - const { schema: schema2, errSchemaPath, opts, self: self2 } = it; - if (schema2.$ref && opts.ignoreKeywordsWithRef && (0, util_1.schemaHasRulesButRef)(schema2, self2.RULES)) { - self2.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`); - } - } - function checkNoDefault(it) { - const { schema: schema2, opts } = it; - if (schema2.default !== void 0 && opts.useDefaults && opts.strictSchema) { - (0, util_1.checkStrictMode)(it, "default is ignored in the schema root"); - } - } - function updateContext(it) { - const schId = it.schema[it.opts.schemaId]; - if (schId) - it.baseId = (0, resolve_1.resolveUrl)(it.opts.uriResolver, it.baseId, schId); - } - function checkAsyncSchema(it) { - if (it.schema.$async && !it.schemaEnv.$async) - throw new Error("async schema in sync schema"); - } - function commentKeyword({ gen, schemaEnv, schema: schema2, errSchemaPath, opts }) { - const msg = schema2.$comment; - if (opts.$comment === true) { - gen.code((0, codegen_1._)`${names_1.default.self}.logger.log(${msg})`); - } else if (typeof opts.$comment == "function") { - const schemaPath = (0, codegen_1.str)`${errSchemaPath}/$comment`; - const rootName = gen.scopeValue("root", { ref: schemaEnv.root }); - gen.code((0, codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`); - } - } - function returnResults(it) { - const { gen, schemaEnv, validateName, ValidationError, opts } = it; - if (schemaEnv.$async) { - gen.if((0, codegen_1._)`${names_1.default.errors} === 0`, () => gen.return(names_1.default.data), () => gen.throw((0, codegen_1._)`new ${ValidationError}(${names_1.default.vErrors})`)); - } else { - gen.assign((0, codegen_1._)`${validateName}.errors`, names_1.default.vErrors); - if (opts.unevaluated) - assignEvaluated(it); - gen.return((0, codegen_1._)`${names_1.default.errors} === 0`); - } - } - function assignEvaluated({ gen, evaluated, props, items }) { - if (props instanceof codegen_1.Name) - gen.assign((0, codegen_1._)`${evaluated}.props`, props); - if (items instanceof codegen_1.Name) - gen.assign((0, codegen_1._)`${evaluated}.items`, items); - } - function schemaKeywords(it, types, typeErrors, errsCount) { - const { gen, schema: schema2, data, allErrors, opts, self: self2 } = it; - const { RULES } = self2; - if (schema2.$ref && (opts.ignoreKeywordsWithRef || !(0, util_1.schemaHasRulesButRef)(schema2, RULES))) { - gen.block(() => keywordCode(it, "$ref", RULES.all.$ref.definition)); - return; - } - if (!opts.jtd) - checkStrictTypes(it, types); - gen.block(() => { - for (const group2 of RULES.rules) - groupKeywords(group2); - groupKeywords(RULES.post); - }); - function groupKeywords(group2) { - if (!(0, applicability_1.shouldUseGroup)(schema2, group2)) - return; - if (group2.type) { - gen.if((0, dataType_2.checkDataType)(group2.type, data, opts.strictNumbers)); - iterateKeywords(it, group2); - if (types.length === 1 && types[0] === group2.type && typeErrors) { - gen.else(); - (0, dataType_2.reportTypeError)(it); - } - gen.endIf(); - } else { - iterateKeywords(it, group2); - } - if (!allErrors) - gen.if((0, codegen_1._)`${names_1.default.errors} === ${errsCount || 0}`); - } - } - function iterateKeywords(it, group2) { - const { gen, schema: schema2, opts: { useDefaults } } = it; - if (useDefaults) - (0, defaults_1.assignDefaults)(it, group2.type); - gen.block(() => { - for (const rule of group2.rules) { - if ((0, applicability_1.shouldUseRule)(schema2, rule)) { - keywordCode(it, rule.keyword, rule.definition, group2.type); - } - } - }); - } - function checkStrictTypes(it, types) { - if (it.schemaEnv.meta || !it.opts.strictTypes) - return; - checkContextTypes(it, types); - if (!it.opts.allowUnionTypes) - checkMultipleTypes(it, types); - checkKeywordTypes(it, it.dataTypes); - } - function checkContextTypes(it, types) { - if (!types.length) - return; - if (!it.dataTypes.length) { - it.dataTypes = types; - return; - } - types.forEach((t) => { - if (!includesType(it.dataTypes, t)) { - strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`); - } - }); - narrowSchemaTypes(it, types); - } - function checkMultipleTypes(it, ts2) { - if (ts2.length > 1 && !(ts2.length === 2 && ts2.includes("null"))) { - strictTypesError(it, "use allowUnionTypes to allow union type keyword"); - } - } - function checkKeywordTypes(it, ts2) { - const rules = it.self.RULES.all; - for (const keyword in rules) { - const rule = rules[keyword]; - if (typeof rule == "object" && (0, applicability_1.shouldUseRule)(it.schema, rule)) { - const { type: type2 } = rule.definition; - if (type2.length && !type2.some((t) => hasApplicableType(ts2, t))) { - strictTypesError(it, `missing type "${type2.join(",")}" for keyword "${keyword}"`); - } - } - } - } - function hasApplicableType(schTs, kwdT) { - return schTs.includes(kwdT) || kwdT === "number" && schTs.includes("integer"); - } - function includesType(ts2, t) { - return ts2.includes(t) || t === "integer" && ts2.includes("number"); - } - function narrowSchemaTypes(it, withTypes) { - const ts2 = []; - for (const t of it.dataTypes) { - if (includesType(withTypes, t)) - ts2.push(t); - else if (withTypes.includes("integer") && t === "number") - ts2.push("integer"); - } - it.dataTypes = ts2; - } - function strictTypesError(it, msg) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - msg += ` at "${schemaPath}" (strictTypes)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictTypes); - } - var KeywordCxt = class { - constructor(it, def, keyword) { - (0, keyword_1.validateKeywordUsage)(it, def, keyword); - this.gen = it.gen; - this.allErrors = it.allErrors; - this.keyword = keyword; - this.data = it.data; - this.schema = it.schema[keyword]; - this.$data = def.$data && it.opts.$data && this.schema && this.schema.$data; - this.schemaValue = (0, util_1.schemaRefOrVal)(it, this.schema, keyword, this.$data); - this.schemaType = def.schemaType; - this.parentSchema = it.schema; - this.params = {}; - this.it = it; - this.def = def; - if (this.$data) { - this.schemaCode = it.gen.const("vSchema", getData(this.$data, it)); - } else { - this.schemaCode = this.schemaValue; - if (!(0, keyword_1.validSchemaType)(this.schema, def.schemaType, def.allowUndefined)) { - throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`); - } - } - if ("code" in def ? def.trackErrors : def.errors !== false) { - this.errsCount = it.gen.const("_errs", names_1.default.errors); - } - } - result(condition, successAction, failAction) { - this.failResult((0, codegen_1.not)(condition), successAction, failAction); - } - failResult(condition, successAction, failAction) { - this.gen.if(condition); - if (failAction) - failAction(); - else - this.error(); - if (successAction) { - this.gen.else(); - successAction(); - if (this.allErrors) - this.gen.endIf(); - } else { - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - } - pass(condition, failAction) { - this.failResult((0, codegen_1.not)(condition), void 0, failAction); - } - fail(condition) { - if (condition === void 0) { - this.error(); - if (!this.allErrors) - this.gen.if(false); - return; - } - this.gen.if(condition); - this.error(); - if (this.allErrors) - this.gen.endIf(); - else - this.gen.else(); - } - fail$data(condition) { - if (!this.$data) - return this.fail(condition); - const { schemaCode } = this; - this.fail((0, codegen_1._)`${schemaCode} !== undefined && (${(0, codegen_1.or)(this.invalid$data(), condition)})`); - } - error(append2, errorParams, errorPaths) { - if (errorParams) { - this.setParams(errorParams); - this._error(append2, errorPaths); - this.setParams({}); - return; - } - this._error(append2, errorPaths); - } - _error(append2, errorPaths) { - ; - (append2 ? errors_1.reportExtraError : errors_1.reportError)(this, this.def.error, errorPaths); - } - $dataError() { - (0, errors_1.reportError)(this, this.def.$dataError || errors_1.keyword$DataError); - } - reset() { - if (this.errsCount === void 0) - throw new Error('add "trackErrors" to keyword definition'); - (0, errors_1.resetErrorsCount)(this.gen, this.errsCount); - } - ok(cond) { - if (!this.allErrors) - this.gen.if(cond); - } - setParams(obj, assign) { - if (assign) - Object.assign(this.params, obj); - else - this.params = obj; - } - block$data(valid, codeBlock, $dataValid = codegen_1.nil) { - this.gen.block(() => { - this.check$data(valid, $dataValid); - codeBlock(); - }); - } - check$data(valid = codegen_1.nil, $dataValid = codegen_1.nil) { - if (!this.$data) - return; - const { gen, schemaCode, schemaType, def } = this; - gen.if((0, codegen_1.or)((0, codegen_1._)`${schemaCode} === undefined`, $dataValid)); - if (valid !== codegen_1.nil) - gen.assign(valid, true); - if (schemaType.length || def.validateSchema) { - gen.elseIf(this.invalid$data()); - this.$dataError(); - if (valid !== codegen_1.nil) - gen.assign(valid, false); - } - gen.else(); - } - invalid$data() { - const { gen, schemaCode, schemaType, def, it } = this; - return (0, codegen_1.or)(wrong$DataType(), invalid$DataSchema()); - function wrong$DataType() { - if (schemaType.length) { - if (!(schemaCode instanceof codegen_1.Name)) - throw new Error("ajv implementation error"); - const st = Array.isArray(schemaType) ? schemaType : [schemaType]; - return (0, codegen_1._)`${(0, dataType_2.checkDataTypes)(st, schemaCode, it.opts.strictNumbers, dataType_2.DataType.Wrong)}`; - } - return codegen_1.nil; - } - function invalid$DataSchema() { - if (def.validateSchema) { - const validateSchemaRef = gen.scopeValue("validate$data", { ref: def.validateSchema }); - return (0, codegen_1._)`!${validateSchemaRef}(${schemaCode})`; - } - return codegen_1.nil; - } - } - subschema(appl, valid) { - const subschema = (0, subschema_1.getSubschema)(this.it, appl); - (0, subschema_1.extendSubschemaData)(subschema, this.it, appl); - (0, subschema_1.extendSubschemaMode)(subschema, appl); - const nextContext = { ...this.it, ...subschema, items: void 0, props: void 0 }; - subschemaCode(nextContext, valid); - return nextContext; - } - mergeEvaluated(schemaCxt, toName) { - const { it, gen } = this; - if (!it.opts.unevaluated) - return; - if (it.props !== true && schemaCxt.props !== void 0) { - it.props = util_1.mergeEvaluated.props(gen, schemaCxt.props, it.props, toName); - } - if (it.items !== true && schemaCxt.items !== void 0) { - it.items = util_1.mergeEvaluated.items(gen, schemaCxt.items, it.items, toName); - } - } - mergeValidEvaluated(schemaCxt, valid) { - const { it, gen } = this; - if (it.opts.unevaluated && (it.props !== true || it.items !== true)) { - gen.if(valid, () => this.mergeEvaluated(schemaCxt, codegen_1.Name)); - return true; - } - } - }; - exports.KeywordCxt = KeywordCxt; - function keywordCode(it, keyword, def, ruleType) { - const cxt = new KeywordCxt(it, def, keyword); - if ("code" in def) { - def.code(cxt, ruleType); - } else if (cxt.$data && def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } else if ("macro" in def) { - (0, keyword_1.macroKeywordCode)(cxt, def); - } else if (def.compile || def.validate) { - (0, keyword_1.funcKeywordCode)(cxt, def); - } - } - var JSON_POINTER = /^\/(?:[^~]|~0|~1)*$/; - var RELATIVE_JSON_POINTER = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/; - function getData($data, { dataLevel, dataNames, dataPathArr }) { - let jsonPointer; - let data; - if ($data === "") - return names_1.default.rootData; - if ($data[0] === "/") { - if (!JSON_POINTER.test($data)) - throw new Error(`Invalid JSON-pointer: ${$data}`); - jsonPointer = $data; - data = names_1.default.rootData; - } else { - const matches = RELATIVE_JSON_POINTER.exec($data); - if (!matches) - throw new Error(`Invalid JSON-pointer: ${$data}`); - const up = +matches[1]; - jsonPointer = matches[2]; - if (jsonPointer === "#") { - if (up >= dataLevel) - throw new Error(errorMsg("property/index", up)); - return dataPathArr[dataLevel - up]; - } - if (up > dataLevel) - throw new Error(errorMsg("data", up)); - data = dataNames[dataLevel - up]; - if (!jsonPointer) - return data; - } - let expr = data; - const segments = jsonPointer.split("/"); - for (const segment of segments) { - if (segment) { - data = (0, codegen_1._)`${data}${(0, codegen_1.getProperty)((0, util_1.unescapeJsonPointer)(segment))}`; - expr = (0, codegen_1._)`${expr} && ${data}`; - } - } - return expr; - function errorMsg(pointerType, up) { - return `Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`; - } - } - exports.getData = getData; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js -var require_validation_error3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var ValidationError = class extends Error { - constructor(errors) { - super("validation failed"); - this.errors = errors; - this.ajv = this.validation = true; - } - }; - exports.default = ValidationError; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js -var require_ref_error3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var resolve_1 = require_resolve3(); - var MissingRefError = class extends Error { - constructor(resolver, baseId, ref, msg) { - super(msg || `can't resolve reference ${ref} from id ${baseId}`); - this.missingRef = (0, resolve_1.resolveUrl)(resolver, baseId, ref); - this.missingSchema = (0, resolve_1.normalizeId)((0, resolve_1.getFullPath)(resolver, this.missingRef)); - } - }; - exports.default = MissingRefError; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js -var require_compile3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/compile/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0; - var codegen_1 = require_codegen3(); - var validation_error_1 = require_validation_error3(); - var names_1 = require_names3(); - var resolve_1 = require_resolve3(); - var util_1 = require_util16(); - var validate_1 = require_validate3(); - var SchemaEnv = class { - constructor(env2) { - var _a2; - this.refs = {}; - this.dynamicAnchors = {}; - let schema2; - if (typeof env2.schema == "object") - schema2 = env2.schema; - this.schema = env2.schema; - this.schemaId = env2.schemaId; - this.root = env2.root || this; - this.baseId = (_a2 = env2.baseId) !== null && _a2 !== void 0 ? _a2 : (0, resolve_1.normalizeId)(schema2 === null || schema2 === void 0 ? void 0 : schema2[env2.schemaId || "$id"]); - this.schemaPath = env2.schemaPath; - this.localRefs = env2.localRefs; - this.meta = env2.meta; - this.$async = schema2 === null || schema2 === void 0 ? void 0 : schema2.$async; - this.refs = {}; - } - }; - exports.SchemaEnv = SchemaEnv; - function compileSchema(sch) { - const _sch = getCompilingSchema.call(this, sch); - if (_sch) - return _sch; - const rootId = (0, resolve_1.getFullPath)(this.opts.uriResolver, sch.root.baseId); - const { es5, lines } = this.opts.code; - const { ownProperties } = this.opts; - const gen = new codegen_1.CodeGen(this.scope, { es5, lines, ownProperties }); - let _ValidationError; - if (sch.$async) { - _ValidationError = gen.scopeValue("Error", { - ref: validation_error_1.default, - code: (0, codegen_1._)`require("ajv/dist/runtime/validation_error").default` - }); - } - const validateName = gen.scopeName("validate"); - sch.validateName = validateName; - const schemaCxt = { - gen, - allErrors: this.opts.allErrors, - data: names_1.default.data, - parentData: names_1.default.parentData, - parentDataProperty: names_1.default.parentDataProperty, - dataNames: [names_1.default.data], - dataPathArr: [codegen_1.nil], - // TODO can its length be used as dataLevel if nil is removed? - dataLevel: 0, - dataTypes: [], - definedProperties: /* @__PURE__ */ new Set(), - topSchemaRef: gen.scopeValue("schema", this.opts.code.source === true ? { ref: sch.schema, code: (0, codegen_1.stringify)(sch.schema) } : { ref: sch.schema }), - validateName, - ValidationError: _ValidationError, - schema: sch.schema, - schemaEnv: sch, - rootId, - baseId: sch.baseId || rootId, - schemaPath: codegen_1.nil, - errSchemaPath: sch.schemaPath || (this.opts.jtd ? "" : "#"), - errorPath: (0, codegen_1._)`""`, - opts: this.opts, - self: this - }; - let sourceCode; - try { - this._compilations.add(sch); - (0, validate_1.validateFunctionCode)(schemaCxt); - gen.optimize(this.opts.code.optimize); - const validateCode = gen.toString(); - sourceCode = `${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`; - if (this.opts.code.process) - sourceCode = this.opts.code.process(sourceCode, sch); - const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode); - const validate2 = makeValidate(this, this.scope.get()); - this.scope.value(validateName, { ref: validate2 }); - validate2.errors = null; - validate2.schema = sch.schema; - validate2.schemaEnv = sch; - if (sch.$async) - validate2.$async = true; - if (this.opts.code.source === true) { - validate2.source = { validateName, validateCode, scopeValues: gen._values }; - } - if (this.opts.unevaluated) { - const { props, items } = schemaCxt; - validate2.evaluated = { - props: props instanceof codegen_1.Name ? void 0 : props, - items: items instanceof codegen_1.Name ? void 0 : items, - dynamicProps: props instanceof codegen_1.Name, - dynamicItems: items instanceof codegen_1.Name - }; - if (validate2.source) - validate2.source.evaluated = (0, codegen_1.stringify)(validate2.evaluated); - } - sch.validate = validate2; - return sch; - } catch (e) { - delete sch.validate; - delete sch.validateName; - if (sourceCode) - this.logger.error("Error compiling schema, function code:", sourceCode); - throw e; - } finally { - this._compilations.delete(sch); - } - } - exports.compileSchema = compileSchema; - function resolveRef2(root, baseId, ref) { - var _a2; - ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, ref); - const schOrFunc = root.refs[ref]; - if (schOrFunc) - return schOrFunc; - let _sch = resolve3.call(this, root, ref); - if (_sch === void 0) { - const schema2 = (_a2 = root.localRefs) === null || _a2 === void 0 ? void 0 : _a2[ref]; - const { schemaId } = this.opts; - if (schema2) - _sch = new SchemaEnv({ schema: schema2, schemaId, root, baseId }); - } - if (_sch === void 0) - return; - return root.refs[ref] = inlineOrCompile.call(this, _sch); - } - exports.resolveRef = resolveRef2; - function inlineOrCompile(sch) { - if ((0, resolve_1.inlineRef)(sch.schema, this.opts.inlineRefs)) - return sch.schema; - return sch.validate ? sch : compileSchema.call(this, sch); - } - function getCompilingSchema(schEnv) { - for (const sch of this._compilations) { - if (sameSchemaEnv(sch, schEnv)) - return sch; - } - } - exports.getCompilingSchema = getCompilingSchema; - function sameSchemaEnv(s1, s2) { - return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId; - } - function resolve3(root, ref) { - let sch; - while (typeof (sch = this.refs[ref]) == "string") - ref = sch; - return sch || this.schemas[ref] || resolveSchema.call(this, root, ref); - } - function resolveSchema(root, ref) { - const p = this.opts.uriResolver.parse(ref); - const refPath = (0, resolve_1._getFullPath)(this.opts.uriResolver, p); - let baseId = (0, resolve_1.getFullPath)(this.opts.uriResolver, root.baseId, void 0); - if (Object.keys(root.schema).length > 0 && refPath === baseId) { - return getJsonPointer.call(this, p, root); - } - const id = (0, resolve_1.normalizeId)(refPath); - const schOrRef = this.refs[id] || this.schemas[id]; - if (typeof schOrRef == "string") { - const sch = resolveSchema.call(this, root, schOrRef); - if (typeof (sch === null || sch === void 0 ? void 0 : sch.schema) !== "object") - return; - return getJsonPointer.call(this, p, sch); - } - if (typeof (schOrRef === null || schOrRef === void 0 ? void 0 : schOrRef.schema) !== "object") - return; - if (!schOrRef.validate) - compileSchema.call(this, schOrRef); - if (id === (0, resolve_1.normalizeId)(ref)) { - const { schema: schema2 } = schOrRef; - const { schemaId } = this.opts; - const schId = schema2[schemaId]; - if (schId) - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); - return new SchemaEnv({ schema: schema2, schemaId, root, baseId }); - } - return getJsonPointer.call(this, p, schOrRef); - } - exports.resolveSchema = resolveSchema; - var PREVENT_SCOPE_CHANGE = /* @__PURE__ */ new Set([ - "properties", - "patternProperties", - "enum", - "dependencies", - "definitions" - ]); - function getJsonPointer(parsedRef, { baseId, schema: schema2, root }) { - var _a2; - if (((_a2 = parsedRef.fragment) === null || _a2 === void 0 ? void 0 : _a2[0]) !== "/") - return; - for (const part of parsedRef.fragment.slice(1).split("/")) { - if (typeof schema2 === "boolean") - return; - const partSchema = schema2[(0, util_1.unescapeFragment)(part)]; - if (partSchema === void 0) - return; - schema2 = partSchema; - const schId = typeof schema2 === "object" && schema2[this.opts.schemaId]; - if (!PREVENT_SCOPE_CHANGE.has(part) && schId) { - baseId = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schId); - } - } - let env2; - if (typeof schema2 != "boolean" && schema2.$ref && !(0, util_1.schemaHasRulesButRef)(schema2, this.RULES)) { - const $ref = (0, resolve_1.resolveUrl)(this.opts.uriResolver, baseId, schema2.$ref); - env2 = resolveSchema.call(this, root, $ref); - } - const { schemaId } = this.opts; - env2 = env2 || new SchemaEnv({ schema: schema2, schemaId, root, baseId }); - if (env2.schema !== env2.root.schema) - return env2; - return void 0; - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.json -var require_data3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/data.json"(exports, module) { - module.exports = { - $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", - description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", - type: "object", - required: ["$data"], - properties: { - $data: { - type: "string", - anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }] - } - }, - additionalProperties: false - }; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js -var require_uri3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var uri = require_fast_uri(); - uri.code = 'require("ajv/dist/runtime/uri").default'; - exports.default = uri; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js -var require_core5 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/core.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0; - var validate_1 = require_validate3(); - Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() { - return validate_1.KeywordCxt; - } }); - var codegen_1 = require_codegen3(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return codegen_1._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return codegen_1.str; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return codegen_1.stringify; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return codegen_1.nil; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return codegen_1.Name; - } }); - Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() { - return codegen_1.CodeGen; - } }); - var validation_error_1 = require_validation_error3(); - var ref_error_1 = require_ref_error3(); - var rules_1 = require_rules3(); - var compile_1 = require_compile3(); - var codegen_2 = require_codegen3(); - var resolve_1 = require_resolve3(); - var dataType_1 = require_dataType3(); - var util_1 = require_util16(); - var $dataRefSchema = require_data3(); - var uri_1 = require_uri3(); - var defaultRegExp = (str, flags) => new RegExp(str, flags); - defaultRegExp.code = "new RegExp"; - var META_IGNORE_OPTIONS = ["removeAdditional", "useDefaults", "coerceTypes"]; - var EXT_SCOPE_NAMES = /* @__PURE__ */ new Set([ - "validate", - "serialize", - "parse", - "wrapper", - "root", - "schema", - "keyword", - "pattern", - "formats", - "validate$data", - "func", - "obj", - "Error" - ]); - var removedOptions = { - errorDataPath: "", - format: "`validateFormats: false` can be used instead.", - nullable: '"nullable" keyword is supported by default.', - jsonPointers: "Deprecated jsPropertySyntax can be used instead.", - extendRefs: "Deprecated ignoreKeywordsWithRef can be used instead.", - missingRefs: "Pass empty schema with $id that should be ignored to ajv.addSchema.", - processCode: "Use option `code: {process: (code, schemaEnv: object) => string}`", - sourceCode: "Use option `code: {source: true}`", - strictDefaults: "It is default now, see option `strict`.", - strictKeywords: "It is default now, see option `strict`.", - uniqueItems: '"uniqueItems" keyword is always validated.', - unknownFormats: "Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).", - cache: "Map is used as cache, schema object as key.", - serialize: "Map is used as cache, schema object as key.", - ajvErrors: "It is default now." - }; - var deprecatedOptions = { - ignoreKeywordsWithRef: "", - jsPropertySyntax: "", - unicode: '"minLength"/"maxLength" account for unicode characters by default.' - }; - var MAX_EXPRESSION = 200; - function requiredOptions(o) { - var _a2, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0; - const s = o.strict; - const _optz = (_a2 = o.code) === null || _a2 === void 0 ? void 0 : _a2.optimize; - const optimize = _optz === true || _optz === void 0 ? 1 : _optz || 0; - const regExp = (_c = (_b = o.code) === null || _b === void 0 ? void 0 : _b.regExp) !== null && _c !== void 0 ? _c : defaultRegExp; - const uriResolver = (_d = o.uriResolver) !== null && _d !== void 0 ? _d : uri_1.default; - return { - strictSchema: (_f = (_e = o.strictSchema) !== null && _e !== void 0 ? _e : s) !== null && _f !== void 0 ? _f : true, - strictNumbers: (_h = (_g = o.strictNumbers) !== null && _g !== void 0 ? _g : s) !== null && _h !== void 0 ? _h : true, - strictTypes: (_k = (_j = o.strictTypes) !== null && _j !== void 0 ? _j : s) !== null && _k !== void 0 ? _k : "log", - strictTuples: (_m = (_l = o.strictTuples) !== null && _l !== void 0 ? _l : s) !== null && _m !== void 0 ? _m : "log", - strictRequired: (_p = (_o = o.strictRequired) !== null && _o !== void 0 ? _o : s) !== null && _p !== void 0 ? _p : false, - code: o.code ? { ...o.code, optimize, regExp } : { optimize, regExp }, - loopRequired: (_q = o.loopRequired) !== null && _q !== void 0 ? _q : MAX_EXPRESSION, - loopEnum: (_r = o.loopEnum) !== null && _r !== void 0 ? _r : MAX_EXPRESSION, - meta: (_s = o.meta) !== null && _s !== void 0 ? _s : true, - messages: (_t = o.messages) !== null && _t !== void 0 ? _t : true, - inlineRefs: (_u = o.inlineRefs) !== null && _u !== void 0 ? _u : true, - schemaId: (_v = o.schemaId) !== null && _v !== void 0 ? _v : "$id", - addUsedSchema: (_w = o.addUsedSchema) !== null && _w !== void 0 ? _w : true, - validateSchema: (_x = o.validateSchema) !== null && _x !== void 0 ? _x : true, - validateFormats: (_y = o.validateFormats) !== null && _y !== void 0 ? _y : true, - unicodeRegExp: (_z = o.unicodeRegExp) !== null && _z !== void 0 ? _z : true, - int32range: (_0 = o.int32range) !== null && _0 !== void 0 ? _0 : true, - uriResolver - }; - } - var Ajv3 = class { - constructor(opts = {}) { - this.schemas = {}; - this.refs = {}; - this.formats = {}; - this._compilations = /* @__PURE__ */ new Set(); - this._loading = {}; - this._cache = /* @__PURE__ */ new Map(); - opts = this.opts = { ...opts, ...requiredOptions(opts) }; - const { es5, lines } = this.opts.code; - this.scope = new codegen_2.ValueScope({ scope: {}, prefixes: EXT_SCOPE_NAMES, es5, lines }); - this.logger = getLogger(opts.logger); - const formatOpt = opts.validateFormats; - opts.validateFormats = false; - this.RULES = (0, rules_1.getRules)(); - checkOptions.call(this, removedOptions, opts, "NOT SUPPORTED"); - checkOptions.call(this, deprecatedOptions, opts, "DEPRECATED", "warn"); - this._metaOpts = getMetaSchemaOptions.call(this); - if (opts.formats) - addInitialFormats.call(this); - this._addVocabularies(); - this._addDefaultMetaSchema(); - if (opts.keywords) - addInitialKeywords.call(this, opts.keywords); - if (typeof opts.meta == "object") - this.addMetaSchema(opts.meta); - addInitialSchemas.call(this); - opts.validateFormats = formatOpt; - } - _addVocabularies() { - this.addKeyword("$async"); - } - _addDefaultMetaSchema() { - const { $data, meta: meta3, schemaId } = this.opts; - let _dataRefSchema = $dataRefSchema; - if (schemaId === "id") { - _dataRefSchema = { ...$dataRefSchema }; - _dataRefSchema.id = _dataRefSchema.$id; - delete _dataRefSchema.$id; - } - if (meta3 && $data) - this.addMetaSchema(_dataRefSchema, _dataRefSchema[schemaId], false); - } - defaultMeta() { - const { meta: meta3, schemaId } = this.opts; - return this.opts.defaultMeta = typeof meta3 == "object" ? meta3[schemaId] || meta3 : void 0; - } - validate(schemaKeyRef, data) { - let v; - if (typeof schemaKeyRef == "string") { - v = this.getSchema(schemaKeyRef); - if (!v) - throw new Error(`no schema with key or ref "${schemaKeyRef}"`); - } else { - v = this.compile(schemaKeyRef); - } - const valid = v(data); - if (!("$async" in v)) - this.errors = v.errors; - return valid; - } - compile(schema2, _meta) { - const sch = this._addSchema(schema2, _meta); - return sch.validate || this._compileSchemaEnv(sch); - } - compileAsync(schema2, meta3) { - if (typeof this.opts.loadSchema != "function") { - throw new Error("options.loadSchema should be a function"); - } - const { loadSchema } = this.opts; - return runCompileAsync.call(this, schema2, meta3); - async function runCompileAsync(_schema, _meta) { - await loadMetaSchema.call(this, _schema.$schema); - const sch = this._addSchema(_schema, _meta); - return sch.validate || _compileAsync.call(this, sch); - } - async function loadMetaSchema($ref) { - if ($ref && !this.getSchema($ref)) { - await runCompileAsync.call(this, { $ref }, true); - } - } - async function _compileAsync(sch) { - try { - return this._compileSchemaEnv(sch); - } catch (e) { - if (!(e instanceof ref_error_1.default)) - throw e; - checkLoaded.call(this, e); - await loadMissingSchema.call(this, e.missingSchema); - return _compileAsync.call(this, sch); - } - } - function checkLoaded({ missingSchema: ref, missingRef }) { - if (this.refs[ref]) { - throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`); - } - } - async function loadMissingSchema(ref) { - const _schema = await _loadSchema.call(this, ref); - if (!this.refs[ref]) - await loadMetaSchema.call(this, _schema.$schema); - if (!this.refs[ref]) - this.addSchema(_schema, ref, meta3); - } - async function _loadSchema(ref) { - const p = this._loading[ref]; - if (p) - return p; - try { - return await (this._loading[ref] = loadSchema(ref)); - } finally { - delete this._loading[ref]; - } - } - } - // Adds schema to the instance - addSchema(schema2, key, _meta, _validateSchema = this.opts.validateSchema) { - if (Array.isArray(schema2)) { - for (const sch of schema2) - this.addSchema(sch, void 0, _meta, _validateSchema); - return this; - } - let id; - if (typeof schema2 === "object") { - const { schemaId } = this.opts; - id = schema2[schemaId]; - if (id !== void 0 && typeof id != "string") { - throw new Error(`schema ${schemaId} must be string`); - } - } - key = (0, resolve_1.normalizeId)(key || id); - this._checkUnique(key); - this.schemas[key] = this._addSchema(schema2, _meta, key, _validateSchema, true); - return this; - } - // Add schema that will be used to validate other schemas - // options in META_IGNORE_OPTIONS are alway set to false - addMetaSchema(schema2, key, _validateSchema = this.opts.validateSchema) { - this.addSchema(schema2, key, true, _validateSchema); - return this; - } - // Validate schema against its meta-schema - validateSchema(schema2, throwOrLogError) { - if (typeof schema2 == "boolean") - return true; - let $schema; - $schema = schema2.$schema; - if ($schema !== void 0 && typeof $schema != "string") { - throw new Error("$schema must be a string"); - } - $schema = $schema || this.opts.defaultMeta || this.defaultMeta(); - if (!$schema) { - this.logger.warn("meta-schema not available"); - this.errors = null; - return true; - } - const valid = this.validate($schema, schema2); - if (!valid && throwOrLogError) { - const message = "schema is invalid: " + this.errorsText(); - if (this.opts.validateSchema === "log") - this.logger.error(message); - else - throw new Error(message); - } - return valid; - } - // Get compiled schema by `key` or `ref`. - // (`key` that was passed to `addSchema` or full schema reference - `schema.$id` or resolved id) - getSchema(keyRef) { - let sch; - while (typeof (sch = getSchEnv.call(this, keyRef)) == "string") - keyRef = sch; - if (sch === void 0) { - const { schemaId } = this.opts; - const root = new compile_1.SchemaEnv({ schema: {}, schemaId }); - sch = compile_1.resolveSchema.call(this, root, keyRef); - if (!sch) - return; - this.refs[keyRef] = sch; - } - return sch.validate || this._compileSchemaEnv(sch); - } - // Remove cached schema(s). - // If no parameter is passed all schemas but meta-schemas are removed. - // If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. - // Even if schema is referenced by other schemas it still can be removed as other schemas have local references. - removeSchema(schemaKeyRef) { - if (schemaKeyRef instanceof RegExp) { - this._removeAllSchemas(this.schemas, schemaKeyRef); - this._removeAllSchemas(this.refs, schemaKeyRef); - return this; - } - switch (typeof schemaKeyRef) { - case "undefined": - this._removeAllSchemas(this.schemas); - this._removeAllSchemas(this.refs); - this._cache.clear(); - return this; - case "string": { - const sch = getSchEnv.call(this, schemaKeyRef); - if (typeof sch == "object") - this._cache.delete(sch.schema); - delete this.schemas[schemaKeyRef]; - delete this.refs[schemaKeyRef]; - return this; - } - case "object": { - const cacheKey = schemaKeyRef; - this._cache.delete(cacheKey); - let id = schemaKeyRef[this.opts.schemaId]; - if (id) { - id = (0, resolve_1.normalizeId)(id); - delete this.schemas[id]; - delete this.refs[id]; - } - return this; - } - default: - throw new Error("ajv.removeSchema: invalid parameter"); - } - } - // add "vocabulary" - a collection of keywords - addVocabulary(definitions) { - for (const def of definitions) - this.addKeyword(def); - return this; - } - addKeyword(kwdOrDef, def) { - let keyword; - if (typeof kwdOrDef == "string") { - keyword = kwdOrDef; - if (typeof def == "object") { - this.logger.warn("these parameters are deprecated, see docs for addKeyword"); - def.keyword = keyword; - } - } else if (typeof kwdOrDef == "object" && def === void 0) { - def = kwdOrDef; - keyword = def.keyword; - if (Array.isArray(keyword) && !keyword.length) { - throw new Error("addKeywords: keyword must be string or non-empty array"); - } - } else { - throw new Error("invalid addKeywords parameters"); - } - checkKeyword.call(this, keyword, def); - if (!def) { - (0, util_1.eachItem)(keyword, (kwd) => addRule.call(this, kwd)); - return this; - } - keywordMetaschema.call(this, def); - const definition = { - ...def, - type: (0, dataType_1.getJSONTypes)(def.type), - schemaType: (0, dataType_1.getJSONTypes)(def.schemaType) - }; - (0, util_1.eachItem)(keyword, definition.type.length === 0 ? (k) => addRule.call(this, k, definition) : (k) => definition.type.forEach((t) => addRule.call(this, k, definition, t))); - return this; - } - getKeyword(keyword) { - const rule = this.RULES.all[keyword]; - return typeof rule == "object" ? rule.definition : !!rule; - } - // Remove keyword - removeKeyword(keyword) { - const { RULES } = this; - delete RULES.keywords[keyword]; - delete RULES.all[keyword]; - for (const group2 of RULES.rules) { - const i = group2.rules.findIndex((rule) => rule.keyword === keyword); - if (i >= 0) - group2.rules.splice(i, 1); - } - return this; - } - // Add format - addFormat(name, format2) { - if (typeof format2 == "string") - format2 = new RegExp(format2); - this.formats[name] = format2; - return this; - } - errorsText(errors = this.errors, { separator: separator2 = ", ", dataVar = "data" } = {}) { - if (!errors || errors.length === 0) - return "No errors"; - return errors.map((e) => `${dataVar}${e.instancePath} ${e.message}`).reduce((text, msg) => text + separator2 + msg); - } - $dataMetaSchema(metaSchema, keywordsJsonPointers) { - const rules = this.RULES.all; - metaSchema = JSON.parse(JSON.stringify(metaSchema)); - for (const jsonPointer of keywordsJsonPointers) { - const segments = jsonPointer.split("/").slice(1); - let keywords2 = metaSchema; - for (const seg of segments) - keywords2 = keywords2[seg]; - for (const key in rules) { - const rule = rules[key]; - if (typeof rule != "object") - continue; - const { $data } = rule.definition; - const schema2 = keywords2[key]; - if ($data && schema2) - keywords2[key] = schemaOrData(schema2); - } - } - return metaSchema; - } - _removeAllSchemas(schemas, regex4) { - for (const keyRef in schemas) { - const sch = schemas[keyRef]; - if (!regex4 || regex4.test(keyRef)) { - if (typeof sch == "string") { - delete schemas[keyRef]; - } else if (sch && !sch.meta) { - this._cache.delete(sch.schema); - delete schemas[keyRef]; - } - } - } - } - _addSchema(schema2, meta3, baseId, validateSchema = this.opts.validateSchema, addSchema = this.opts.addUsedSchema) { - let id; - const { schemaId } = this.opts; - if (typeof schema2 == "object") { - id = schema2[schemaId]; - } else { - if (this.opts.jtd) - throw new Error("schema must be object"); - else if (typeof schema2 != "boolean") - throw new Error("schema must be object or boolean"); - } - let sch = this._cache.get(schema2); - if (sch !== void 0) - return sch; - baseId = (0, resolve_1.normalizeId)(id || baseId); - const localRefs = resolve_1.getSchemaRefs.call(this, schema2, baseId); - sch = new compile_1.SchemaEnv({ schema: schema2, schemaId, meta: meta3, baseId, localRefs }); - this._cache.set(sch.schema, sch); - if (addSchema && !baseId.startsWith("#")) { - if (baseId) - this._checkUnique(baseId); - this.refs[baseId] = sch; - } - if (validateSchema) - this.validateSchema(schema2, true); - return sch; - } - _checkUnique(id) { - if (this.schemas[id] || this.refs[id]) { - throw new Error(`schema with key or id "${id}" already exists`); - } - } - _compileSchemaEnv(sch) { - if (sch.meta) - this._compileMetaSchema(sch); - else - compile_1.compileSchema.call(this, sch); - if (!sch.validate) - throw new Error("ajv implementation error"); - return sch.validate; - } - _compileMetaSchema(sch) { - const currentOpts = this.opts; - this.opts = this._metaOpts; - try { - compile_1.compileSchema.call(this, sch); - } finally { - this.opts = currentOpts; - } - } - }; - Ajv3.ValidationError = validation_error_1.default; - Ajv3.MissingRefError = ref_error_1.default; - exports.default = Ajv3; - function checkOptions(checkOpts, options, msg, log2 = "error") { - for (const key in checkOpts) { - const opt = key; - if (opt in options) - this.logger[log2](`${msg}: option ${key}. ${checkOpts[opt]}`); - } - } - function getSchEnv(keyRef) { - keyRef = (0, resolve_1.normalizeId)(keyRef); - return this.schemas[keyRef] || this.refs[keyRef]; - } - function addInitialSchemas() { - const optsSchemas = this.opts.schemas; - if (!optsSchemas) - return; - if (Array.isArray(optsSchemas)) - this.addSchema(optsSchemas); - else - for (const key in optsSchemas) - this.addSchema(optsSchemas[key], key); - } - function addInitialFormats() { - for (const name in this.opts.formats) { - const format2 = this.opts.formats[name]; - if (format2) - this.addFormat(name, format2); - } - } - function addInitialKeywords(defs) { - if (Array.isArray(defs)) { - this.addVocabulary(defs); - return; - } - this.logger.warn("keywords option as map is deprecated, pass array"); - for (const keyword in defs) { - const def = defs[keyword]; - if (!def.keyword) - def.keyword = keyword; - this.addKeyword(def); - } - } - function getMetaSchemaOptions() { - const metaOpts = { ...this.opts }; - for (const opt of META_IGNORE_OPTIONS) - delete metaOpts[opt]; - return metaOpts; - } - var noLogs = { log() { - }, warn() { - }, error() { - } }; - function getLogger(logger) { - if (logger === false) - return noLogs; - if (logger === void 0) - return console; - if (logger.log && logger.warn && logger.error) - return logger; - throw new Error("logger must implement log, warn and error methods"); - } - var KEYWORD_NAME = /^[a-z_$][a-z0-9_$:-]*$/i; - function checkKeyword(keyword, def) { - const { RULES } = this; - (0, util_1.eachItem)(keyword, (kwd) => { - if (RULES.keywords[kwd]) - throw new Error(`Keyword ${kwd} is already defined`); - if (!KEYWORD_NAME.test(kwd)) - throw new Error(`Keyword ${kwd} has invalid name`); - }); - if (!def) - return; - if (def.$data && !("code" in def || "validate" in def)) { - throw new Error('$data keyword must have "code" or "validate" function'); - } - } - function addRule(keyword, definition, dataType) { - var _a2; - const post = definition === null || definition === void 0 ? void 0 : definition.post; - if (dataType && post) - throw new Error('keyword with "post" flag cannot have "type"'); - const { RULES } = this; - let ruleGroup = post ? RULES.post : RULES.rules.find(({ type: t }) => t === dataType); - if (!ruleGroup) { - ruleGroup = { type: dataType, rules: [] }; - RULES.rules.push(ruleGroup); - } - RULES.keywords[keyword] = true; - if (!definition) - return; - const rule = { - keyword, - definition: { - ...definition, - type: (0, dataType_1.getJSONTypes)(definition.type), - schemaType: (0, dataType_1.getJSONTypes)(definition.schemaType) - } - }; - if (definition.before) - addBeforeRule.call(this, ruleGroup, rule, definition.before); - else - ruleGroup.rules.push(rule); - RULES.all[keyword] = rule; - (_a2 = definition.implements) === null || _a2 === void 0 ? void 0 : _a2.forEach((kwd) => this.addKeyword(kwd)); - } - function addBeforeRule(ruleGroup, rule, before) { - const i = ruleGroup.rules.findIndex((_rule) => _rule.keyword === before); - if (i >= 0) { - ruleGroup.rules.splice(i, 0, rule); - } else { - ruleGroup.rules.push(rule); - this.logger.warn(`rule ${before} is not defined`); - } - } - function keywordMetaschema(def) { - let { metaSchema } = def; - if (metaSchema === void 0) - return; - if (def.$data && this.opts.$data) - metaSchema = schemaOrData(metaSchema); - def.validateSchema = this.compile(metaSchema, true); - } - var $dataRef = { - $ref: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#" - }; - function schemaOrData(schema2) { - return { anyOf: [schema2, $dataRef] }; - } - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js -var require_id3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var def = { - keyword: "id", - code() { - throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID'); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js -var require_ref3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.callRef = exports.getValidate = void 0; - var ref_error_1 = require_ref_error3(); - var code_1 = require_code5(); - var codegen_1 = require_codegen3(); - var names_1 = require_names3(); - var compile_1 = require_compile3(); - var util_1 = require_util16(); - var def = { - keyword: "$ref", - schemaType: "string", - code(cxt) { - const { gen, schema: $ref, it } = cxt; - const { baseId, schemaEnv: env2, validateName, opts, self: self2 } = it; - const { root } = env2; - if (($ref === "#" || $ref === "#/") && baseId === root.baseId) - return callRootRef(); - const schOrEnv = compile_1.resolveRef.call(self2, root, baseId, $ref); - if (schOrEnv === void 0) - throw new ref_error_1.default(it.opts.uriResolver, baseId, $ref); - if (schOrEnv instanceof compile_1.SchemaEnv) - return callValidate(schOrEnv); - return inlineRefSchema(schOrEnv); - function callRootRef() { - if (env2 === root) - return callRef(cxt, validateName, env2, env2.$async); - const rootName = gen.scopeValue("root", { ref: root }); - return callRef(cxt, (0, codegen_1._)`${rootName}.validate`, root, root.$async); - } - function callValidate(sch) { - const v = getValidate(cxt, sch); - callRef(cxt, v, sch, sch.$async); - } - function inlineRefSchema(sch) { - const schName = gen.scopeValue("schema", opts.code.source === true ? { ref: sch, code: (0, codegen_1.stringify)(sch) } : { ref: sch }); - const valid = gen.name("valid"); - const schCxt = cxt.subschema({ - schema: sch, - dataTypes: [], - schemaPath: codegen_1.nil, - topSchemaRef: schName, - errSchemaPath: $ref - }, valid); - cxt.mergeEvaluated(schCxt); - cxt.ok(valid); - } - } - }; - function getValidate(cxt, sch) { - const { gen } = cxt; - return sch.validate ? gen.scopeValue("validate", { ref: sch.validate }) : (0, codegen_1._)`${gen.scopeValue("wrapper", { ref: sch })}.validate`; - } - exports.getValidate = getValidate; - function callRef(cxt, v, sch, $async) { - const { gen, it } = cxt; - const { allErrors, schemaEnv: env2, opts } = it; - const passCxt = opts.passContext ? names_1.default.this : codegen_1.nil; - if ($async) - callAsyncRef(); - else - callSyncRef(); - function callAsyncRef() { - if (!env2.$async) - throw new Error("async schema referenced by sync schema"); - const valid = gen.let("valid"); - gen.try(() => { - gen.code((0, codegen_1._)`await ${(0, code_1.callValidateCode)(cxt, v, passCxt)}`); - addEvaluatedFrom(v); - if (!allErrors) - gen.assign(valid, true); - }, (e) => { - gen.if((0, codegen_1._)`!(${e} instanceof ${it.ValidationError})`, () => gen.throw(e)); - addErrorsFrom(e); - if (!allErrors) - gen.assign(valid, false); - }); - cxt.ok(valid); - } - function callSyncRef() { - cxt.result((0, code_1.callValidateCode)(cxt, v, passCxt), () => addEvaluatedFrom(v), () => addErrorsFrom(v)); - } - function addErrorsFrom(source) { - const errs = (0, codegen_1._)`${source}.errors`; - gen.assign(names_1.default.vErrors, (0, codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`); - gen.assign(names_1.default.errors, (0, codegen_1._)`${names_1.default.vErrors}.length`); - } - function addEvaluatedFrom(source) { - var _a2; - if (!it.opts.unevaluated) - return; - const schEvaluated = (_a2 = sch === null || sch === void 0 ? void 0 : sch.validate) === null || _a2 === void 0 ? void 0 : _a2.evaluated; - if (it.props !== true) { - if (schEvaluated && !schEvaluated.dynamicProps) { - if (schEvaluated.props !== void 0) { - it.props = util_1.mergeEvaluated.props(gen, schEvaluated.props, it.props); - } - } else { - const props = gen.var("props", (0, codegen_1._)`${source}.evaluated.props`); - it.props = util_1.mergeEvaluated.props(gen, props, it.props, codegen_1.Name); - } - } - if (it.items !== true) { - if (schEvaluated && !schEvaluated.dynamicItems) { - if (schEvaluated.items !== void 0) { - it.items = util_1.mergeEvaluated.items(gen, schEvaluated.items, it.items); - } - } else { - const items = gen.var("items", (0, codegen_1._)`${source}.evaluated.items`); - it.items = util_1.mergeEvaluated.items(gen, items, it.items, codegen_1.Name); - } - } - } - } - exports.callRef = callRef; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js -var require_core6 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var id_1 = require_id3(); - var ref_1 = require_ref3(); - var core7 = [ - "$schema", - "$id", - "$defs", - "$vocabulary", - { keyword: "$comment" }, - "definitions", - id_1.default, - ref_1.default - ]; - exports.default = core7; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js -var require_limitNumber3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var ops = codegen_1.operators; - var KWDs = { - maximum: { okStr: "<=", ok: ops.LTE, fail: ops.GT }, - minimum: { okStr: ">=", ok: ops.GTE, fail: ops.LT }, - exclusiveMaximum: { okStr: "<", ok: ops.LT, fail: ops.GTE }, - exclusiveMinimum: { okStr: ">", ok: ops.GT, fail: ops.LTE } - }; - var error49 = { - message: ({ keyword, schemaCode }) => (0, codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`, - params: ({ keyword, schemaCode }) => (0, codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}` - }; - var def = { - keyword: Object.keys(KWDs), - type: "number", - schemaType: "number", - $data: true, - error: error49, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - cxt.fail$data((0, codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js -var require_multipleOf3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var error49 = { - message: ({ schemaCode }) => (0, codegen_1.str)`must be multiple of ${schemaCode}`, - params: ({ schemaCode }) => (0, codegen_1._)`{multipleOf: ${schemaCode}}` - }; - var def = { - keyword: "multipleOf", - type: "number", - schemaType: "number", - $data: true, - error: error49, - code(cxt) { - const { gen, data, schemaCode, it } = cxt; - const prec = it.opts.multipleOfPrecision; - const res = gen.let("res"); - const invalid = prec ? (0, codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}` : (0, codegen_1._)`${res} !== parseInt(${res})`; - cxt.fail$data((0, codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js -var require_ucs2length3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - function ucs2length(str) { - const len = str.length; - let length = 0; - let pos = 0; - let value2; - while (pos < len) { - length++; - value2 = str.charCodeAt(pos++); - if (value2 >= 55296 && value2 <= 56319 && pos < len) { - value2 = str.charCodeAt(pos); - if ((value2 & 64512) === 56320) - pos++; - } - } - return length; - } - exports.default = ucs2length; - ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default'; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js -var require_limitLength3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var ucs2length_1 = require_ucs2length3(); - var error49 = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxLength" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxLength", "minLength"], - type: "string", - schemaType: "number", - $data: true, - error: error49, - code(cxt) { - const { keyword, data, schemaCode, it } = cxt; - const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT; - const len = it.opts.unicode === false ? (0, codegen_1._)`${data}.length` : (0, codegen_1._)`${(0, util_1.useFunc)(cxt.gen, ucs2length_1.default)}(${data})`; - cxt.fail$data((0, codegen_1._)`${len} ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js -var require_pattern3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code5(); - var util_1 = require_util16(); - var codegen_1 = require_codegen3(); - var error49 = { - message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._)`{pattern: ${schemaCode}}` - }; - var def = { - keyword: "pattern", - type: "string", - schemaType: "string", - $data: true, - error: error49, - code(cxt) { - const { gen, data, $data, schema: schema2, schemaCode, it } = cxt; - const u = it.opts.unicodeRegExp ? "u" : ""; - if ($data) { - const { regExp } = it.opts.code; - const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._)`new RegExp` : (0, util_1.useFunc)(gen, regExp); - const valid = gen.let("valid"); - gen.try(() => gen.assign(valid, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u}).test(${data})`), () => gen.assign(valid, false)); - cxt.fail$data((0, codegen_1._)`!${valid}`); - } else { - const regExp = (0, code_1.usePattern)(cxt, schema2); - cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js -var require_limitProperties3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var error49 = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxProperties" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxProperties", "minProperties"], - type: "object", - schemaType: "number", - $data: true, - error: error49, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxProperties" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js -var require_required3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code5(); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: ({ params: { missingProperty } }) => (0, codegen_1.str)`must have required property '${missingProperty}'`, - params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}` - }; - var def = { - keyword: "required", - type: "object", - schemaType: "array", - $data: true, - error: error49, - code(cxt) { - const { gen, schema: schema2, schemaCode, data, $data, it } = cxt; - const { opts } = it; - if (!$data && schema2.length === 0) - return; - const useLoop = schema2.length >= opts.loopRequired; - if (it.allErrors) - allErrorsMode(); - else - exitOnErrorMode(); - if (opts.strictRequired) { - const props = cxt.parentSchema.properties; - const { definedProperties } = cxt.it; - for (const requiredKey of schema2) { - if ((props === null || props === void 0 ? void 0 : props[requiredKey]) === void 0 && !definedProperties.has(requiredKey)) { - const schemaPath = it.schemaEnv.baseId + it.errSchemaPath; - const msg = `required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`; - (0, util_1.checkStrictMode)(it, msg, it.opts.strictRequired); - } - } - } - function allErrorsMode() { - if (useLoop || $data) { - cxt.block$data(codegen_1.nil, loopAllRequired); - } else { - for (const prop of schema2) { - (0, code_1.checkReportMissingProp)(cxt, prop); - } - } - } - function exitOnErrorMode() { - const missing = gen.let("missing"); - if (useLoop || $data) { - const valid = gen.let("valid", true); - cxt.block$data(valid, () => loopUntilMissing(missing, valid)); - cxt.ok(valid); - } else { - gen.if((0, code_1.checkMissingProp)(cxt, schema2, missing)); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); - } - } - function loopAllRequired() { - gen.forOf("prop", schemaCode, (prop) => { - cxt.setParams({ missingProperty: prop }); - gen.if((0, code_1.noPropertyInData)(gen, data, prop, opts.ownProperties), () => cxt.error()); - }); - } - function loopUntilMissing(missing, valid) { - cxt.setParams({ missingProperty: missing }); - gen.forOf(missing, schemaCode, () => { - gen.assign(valid, (0, code_1.propertyInData)(gen, data, missing, opts.ownProperties)); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(); - gen.break(); - }); - }, codegen_1.nil); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js -var require_limitItems3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var error49 = { - message({ keyword, schemaCode }) { - const comp = keyword === "maxItems" ? "more" : "fewer"; - return (0, codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`; - }, - params: ({ schemaCode }) => (0, codegen_1._)`{limit: ${schemaCode}}` - }; - var def = { - keyword: ["maxItems", "minItems"], - type: "array", - schemaType: "number", - $data: true, - error: error49, - code(cxt) { - const { keyword, data, schemaCode } = cxt; - const op = keyword === "maxItems" ? codegen_1.operators.GT : codegen_1.operators.LT; - cxt.fail$data((0, codegen_1._)`${data}.length ${op} ${schemaCode}`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js -var require_equal3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var equal = require_fast_deep_equal(); - equal.code = 'require("ajv/dist/runtime/equal").default'; - exports.default = equal; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js -var require_uniqueItems3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var dataType_1 = require_dataType3(); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var equal_1 = require_equal3(); - var error49 = { - message: ({ params: { i, j } }) => (0, codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i} are identical)`, - params: ({ params: { i, j } }) => (0, codegen_1._)`{i: ${i}, j: ${j}}` - }; - var def = { - keyword: "uniqueItems", - type: "array", - schemaType: "boolean", - $data: true, - error: error49, - code(cxt) { - const { gen, data, $data, schema: schema2, parentSchema, schemaCode, it } = cxt; - if (!$data && !schema2) - return; - const valid = gen.let("valid"); - const itemTypes = parentSchema.items ? (0, dataType_1.getSchemaTypes)(parentSchema.items) : []; - cxt.block$data(valid, validateUniqueItems, (0, codegen_1._)`${schemaCode} === false`); - cxt.ok(valid); - function validateUniqueItems() { - const i = gen.let("i", (0, codegen_1._)`${data}.length`); - const j = gen.let("j"); - cxt.setParams({ i, j }); - gen.assign(valid, true); - gen.if((0, codegen_1._)`${i} > 1`, () => (canOptimize() ? loopN : loopN2)(i, j)); - } - function canOptimize() { - return itemTypes.length > 0 && !itemTypes.some((t) => t === "object" || t === "array"); - } - function loopN(i, j) { - const item = gen.name("item"); - const wrongType = (0, dataType_1.checkDataTypes)(itemTypes, item, it.opts.strictNumbers, dataType_1.DataType.Wrong); - const indices = gen.const("indices", (0, codegen_1._)`{}`); - gen.for((0, codegen_1._)`;${i}--;`, () => { - gen.let(item, (0, codegen_1._)`${data}[${i}]`); - gen.if(wrongType, (0, codegen_1._)`continue`); - if (itemTypes.length > 1) - gen.if((0, codegen_1._)`typeof ${item} == "string"`, (0, codegen_1._)`${item} += "_"`); - gen.if((0, codegen_1._)`typeof ${indices}[${item}] == "number"`, () => { - gen.assign(j, (0, codegen_1._)`${indices}[${item}]`); - cxt.error(); - gen.assign(valid, false).break(); - }).code((0, codegen_1._)`${indices}[${item}] = ${i}`); - }); - } - function loopN2(i, j) { - const eql = (0, util_1.useFunc)(gen, equal_1.default); - const outer = gen.name("outer"); - gen.label(outer).for((0, codegen_1._)`;${i}--;`, () => gen.for((0, codegen_1._)`${j} = ${i}; ${j}--;`, () => gen.if((0, codegen_1._)`${eql}(${data}[${i}], ${data}[${j}])`, () => { - cxt.error(); - gen.assign(valid, false).break(outer); - }))); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js -var require_const3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var equal_1 = require_equal3(); - var error49 = { - message: "must be equal to constant", - params: ({ schemaCode }) => (0, codegen_1._)`{allowedValue: ${schemaCode}}` - }; - var def = { - keyword: "const", - $data: true, - error: error49, - code(cxt) { - const { gen, data, $data, schemaCode, schema: schema2 } = cxt; - if ($data || schema2 && typeof schema2 == "object") { - cxt.fail$data((0, codegen_1._)`!${(0, util_1.useFunc)(gen, equal_1.default)}(${data}, ${schemaCode})`); - } else { - cxt.fail((0, codegen_1._)`${schema2} !== ${data}`); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js -var require_enum3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var equal_1 = require_equal3(); - var error49 = { - message: "must be equal to one of the allowed values", - params: ({ schemaCode }) => (0, codegen_1._)`{allowedValues: ${schemaCode}}` - }; - var def = { - keyword: "enum", - schemaType: "array", - $data: true, - error: error49, - code(cxt) { - const { gen, data, $data, schema: schema2, schemaCode, it } = cxt; - if (!$data && schema2.length === 0) - throw new Error("enum must have non-empty array"); - const useLoop = schema2.length >= it.opts.loopEnum; - let eql; - const getEql = () => eql !== null && eql !== void 0 ? eql : eql = (0, util_1.useFunc)(gen, equal_1.default); - let valid; - if (useLoop || $data) { - valid = gen.let("valid"); - cxt.block$data(valid, loopEnum); - } else { - if (!Array.isArray(schema2)) - throw new Error("ajv implementation error"); - const vSchema = gen.const("vSchema", schemaCode); - valid = (0, codegen_1.or)(...schema2.map((_x, i) => equalCode(vSchema, i))); - } - cxt.pass(valid); - function loopEnum() { - gen.assign(valid, false); - gen.forOf("v", schemaCode, (v) => gen.if((0, codegen_1._)`${getEql()}(${data}, ${v})`, () => gen.assign(valid, true).break())); - } - function equalCode(vSchema, i) { - const sch = schema2[i]; - return typeof sch === "object" && sch !== null ? (0, codegen_1._)`${getEql()}(${data}, ${vSchema}[${i}])` : (0, codegen_1._)`${data} === ${sch}`; - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js -var require_validation3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var limitNumber_1 = require_limitNumber3(); - var multipleOf_1 = require_multipleOf3(); - var limitLength_1 = require_limitLength3(); - var pattern_1 = require_pattern3(); - var limitProperties_1 = require_limitProperties3(); - var required_1 = require_required3(); - var limitItems_1 = require_limitItems3(); - var uniqueItems_1 = require_uniqueItems3(); - var const_1 = require_const3(); - var enum_1 = require_enum3(); - var validation = [ - // number - limitNumber_1.default, - multipleOf_1.default, - // string - limitLength_1.default, - pattern_1.default, - // object - limitProperties_1.default, - required_1.default, - // array - limitItems_1.default, - uniqueItems_1.default, - // any - { keyword: "type", schemaType: ["string", "array"] }, - { keyword: "nullable", schemaType: "boolean" }, - const_1.default, - enum_1.default - ]; - exports.default = validation; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js -var require_additionalItems3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateAdditionalItems = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}` - }; - var def = { - keyword: "additionalItems", - type: "array", - schemaType: ["boolean", "object"], - before: "uniqueItems", - error: error49, - code(cxt) { - const { parentSchema, it } = cxt; - const { items } = parentSchema; - if (!Array.isArray(items)) { - (0, util_1.checkStrictMode)(it, '"additionalItems" is ignored when "items" is not an array of schemas'); - return; - } - validateAdditionalItems(cxt, items); - } - }; - function validateAdditionalItems(cxt, items) { - const { gen, schema: schema2, data, keyword, it } = cxt; - it.items = true; - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - if (schema2 === false) { - cxt.setParams({ len: items.length }); - cxt.pass((0, codegen_1._)`${len} <= ${items.length}`); - } else if (typeof schema2 == "object" && !(0, util_1.alwaysValidSchema)(it, schema2)) { - const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items.length}`); - gen.if((0, codegen_1.not)(valid), () => validateItems(valid)); - cxt.ok(valid); - } - function validateItems(valid) { - gen.forRange("i", items.length, len, (i) => { - cxt.subschema({ keyword, dataProp: i, dataPropType: util_1.Type.Num }, valid); - if (!it.allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - }); - } - } - exports.validateAdditionalItems = validateAdditionalItems; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js -var require_items3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateTuple = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var code_1 = require_code5(); - var def = { - keyword: "items", - type: "array", - schemaType: ["object", "array", "boolean"], - before: "uniqueItems", - code(cxt) { - const { schema: schema2, it } = cxt; - if (Array.isArray(schema2)) - return validateTuple(cxt, "additionalItems", schema2); - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema2)) - return; - cxt.ok((0, code_1.validateArray)(cxt)); - } - }; - function validateTuple(cxt, extraItems, schArr = cxt.schema) { - const { gen, parentSchema, data, keyword, it } = cxt; - checkStrictTuple(parentSchema); - if (it.opts.unevaluated && schArr.length && it.items !== true) { - it.items = util_1.mergeEvaluated.items(gen, schArr.length, it.items); - } - const valid = gen.name("valid"); - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - schArr.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - gen.if((0, codegen_1._)`${len} > ${i}`, () => cxt.subschema({ - keyword, - schemaProp: i, - dataProp: i - }, valid)); - cxt.ok(valid); - }); - function checkStrictTuple(sch) { - const { opts, errSchemaPath } = it; - const l = schArr.length; - const fullTuple = l === sch.minItems && (l === sch.maxItems || sch[extraItems] === false); - if (opts.strictTuples && !fullTuple) { - const msg = `"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`; - (0, util_1.checkStrictMode)(it, msg, opts.strictTuples); - } - } - } - exports.validateTuple = validateTuple; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js -var require_prefixItems3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var items_1 = require_items3(); - var def = { - keyword: "prefixItems", - type: "array", - schemaType: ["array"], - before: "uniqueItems", - code: (cxt) => (0, items_1.validateTuple)(cxt, "items") - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js -var require_items20203 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var code_1 = require_code5(); - var additionalItems_1 = require_additionalItems3(); - var error49 = { - message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`, - params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}` - }; - var def = { - keyword: "items", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - error: error49, - code(cxt) { - const { schema: schema2, parentSchema, it } = cxt; - const { prefixItems } = parentSchema; - it.items = true; - if ((0, util_1.alwaysValidSchema)(it, schema2)) - return; - if (prefixItems) - (0, additionalItems_1.validateAdditionalItems)(cxt, prefixItems); - else - cxt.ok((0, code_1.validateArray)(cxt)); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js -var require_contains3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`, - params: ({ params: { min, max } }) => max === void 0 ? (0, codegen_1._)`{minContains: ${min}}` : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}` - }; - var def = { - keyword: "contains", - type: "array", - schemaType: ["object", "boolean"], - before: "uniqueItems", - trackErrors: true, - error: error49, - code(cxt) { - const { gen, schema: schema2, parentSchema, data, it } = cxt; - let min; - let max; - const { minContains, maxContains } = parentSchema; - if (it.opts.next) { - min = minContains === void 0 ? 1 : minContains; - max = maxContains; - } else { - min = 1; - } - const len = gen.const("len", (0, codegen_1._)`${data}.length`); - cxt.setParams({ min, max }); - if (max === void 0 && min === 0) { - (0, util_1.checkStrictMode)(it, `"minContains" == 0 without "maxContains": "contains" keyword ignored`); - return; - } - if (max !== void 0 && min > max) { - (0, util_1.checkStrictMode)(it, `"minContains" > "maxContains" is always invalid`); - cxt.fail(); - return; - } - if ((0, util_1.alwaysValidSchema)(it, schema2)) { - let cond = (0, codegen_1._)`${len} >= ${min}`; - if (max !== void 0) - cond = (0, codegen_1._)`${cond} && ${len} <= ${max}`; - cxt.pass(cond); - return; - } - it.items = true; - const valid = gen.name("valid"); - if (max === void 0 && min === 1) { - validateItems(valid, () => gen.if(valid, () => gen.break())); - } else if (min === 0) { - gen.let(valid, true); - if (max !== void 0) - gen.if((0, codegen_1._)`${data}.length > 0`, validateItemsWithCount); - } else { - gen.let(valid, false); - validateItemsWithCount(); - } - cxt.result(valid, () => cxt.reset()); - function validateItemsWithCount() { - const schValid = gen.name("_valid"); - const count = gen.let("count", 0); - validateItems(schValid, () => gen.if(schValid, () => checkLimits(count))); - } - function validateItems(_valid, block) { - gen.forRange("i", 0, len, (i) => { - cxt.subschema({ - keyword: "contains", - dataProp: i, - dataPropType: util_1.Type.Num, - compositeRule: true - }, _valid); - block(); - }); - } - function checkLimits(count) { - gen.code((0, codegen_1._)`${count}++`); - if (max === void 0) { - gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true).break()); - } else { - gen.if((0, codegen_1._)`${count} > ${max}`, () => gen.assign(valid, false).break()); - if (min === 1) - gen.assign(valid, true); - else - gen.if((0, codegen_1._)`${count} >= ${min}`, () => gen.assign(valid, true)); - } - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js -var require_dependencies3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0; - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var code_1 = require_code5(); - exports.error = { - message: ({ params: { property, depsCount, deps } }) => { - const property_ies = depsCount === 1 ? "property" : "properties"; - return (0, codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`; - }, - params: ({ params: { property, depsCount, deps, missingProperty } }) => (0, codegen_1._)`{property: ${property}, - missingProperty: ${missingProperty}, - depsCount: ${depsCount}, - deps: ${deps}}` - // TODO change to reference - }; - var def = { - keyword: "dependencies", - type: "object", - schemaType: "object", - error: exports.error, - code(cxt) { - const [propDeps, schDeps] = splitDependencies(cxt); - validatePropertyDeps(cxt, propDeps); - validateSchemaDeps(cxt, schDeps); - } - }; - function splitDependencies({ schema: schema2 }) { - const propertyDeps = {}; - const schemaDeps = {}; - for (const key in schema2) { - if (key === "__proto__") - continue; - const deps = Array.isArray(schema2[key]) ? propertyDeps : schemaDeps; - deps[key] = schema2[key]; - } - return [propertyDeps, schemaDeps]; - } - function validatePropertyDeps(cxt, propertyDeps = cxt.schema) { - const { gen, data, it } = cxt; - if (Object.keys(propertyDeps).length === 0) - return; - const missing = gen.let("missing"); - for (const prop in propertyDeps) { - const deps = propertyDeps[prop]; - if (deps.length === 0) - continue; - const hasProperty = (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties); - cxt.setParams({ - property: prop, - depsCount: deps.length, - deps: deps.join(", ") - }); - if (it.allErrors) { - gen.if(hasProperty, () => { - for (const depProp of deps) { - (0, code_1.checkReportMissingProp)(cxt, depProp); - } - }); - } else { - gen.if((0, codegen_1._)`${hasProperty} && (${(0, code_1.checkMissingProp)(cxt, deps, missing)})`); - (0, code_1.reportMissingProp)(cxt, missing); - gen.else(); - } - } - } - exports.validatePropertyDeps = validatePropertyDeps; - function validateSchemaDeps(cxt, schemaDeps = cxt.schema) { - const { gen, data, keyword, it } = cxt; - const valid = gen.name("valid"); - for (const prop in schemaDeps) { - if ((0, util_1.alwaysValidSchema)(it, schemaDeps[prop])) - continue; - gen.if( - (0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties), - () => { - const schCxt = cxt.subschema({ keyword, schemaProp: prop }, valid); - cxt.mergeValidEvaluated(schCxt, valid); - }, - () => gen.var(valid, true) - // TODO var - ); - cxt.ok(valid); - } - } - exports.validateSchemaDeps = validateSchemaDeps; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js -var require_propertyNames3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: "property name must be valid", - params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}` - }; - var def = { - keyword: "propertyNames", - type: "object", - schemaType: ["object", "boolean"], - error: error49, - code(cxt) { - const { gen, schema: schema2, data, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema2)) - return; - const valid = gen.name("valid"); - gen.forIn("key", data, (key) => { - cxt.setParams({ propertyName: key }); - cxt.subschema({ - keyword: "propertyNames", - data: key, - dataTypes: ["string"], - propertyName: key, - compositeRule: true - }, valid); - gen.if((0, codegen_1.not)(valid), () => { - cxt.error(true); - if (!it.allErrors) - gen.break(); - }); - }); - cxt.ok(valid); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js -var require_additionalProperties3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code5(); - var codegen_1 = require_codegen3(); - var names_1 = require_names3(); - var util_1 = require_util16(); - var error49 = { - message: "must NOT have additional properties", - params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}` - }; - var def = { - keyword: "additionalProperties", - type: ["object"], - schemaType: ["boolean", "object"], - allowUndefined: true, - trackErrors: true, - error: error49, - code(cxt) { - const { gen, schema: schema2, parentSchema, data, errsCount, it } = cxt; - if (!errsCount) - throw new Error("ajv implementation error"); - const { allErrors, opts } = it; - it.props = true; - if (opts.removeAdditional !== "all" && (0, util_1.alwaysValidSchema)(it, schema2)) - return; - const props = (0, code_1.allSchemaProperties)(parentSchema.properties); - const patProps = (0, code_1.allSchemaProperties)(parentSchema.patternProperties); - checkAdditionalProperties(); - cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`); - function checkAdditionalProperties() { - gen.forIn("key", data, (key) => { - if (!props.length && !patProps.length) - additionalPropertyCode(key); - else - gen.if(isAdditional(key), () => additionalPropertyCode(key)); - }); - } - function isAdditional(key) { - let definedProp; - if (props.length > 8) { - const propsSchema = (0, util_1.schemaRefOrVal)(it, parentSchema.properties, "properties"); - definedProp = (0, code_1.isOwnProperty)(gen, propsSchema, key); - } else if (props.length) { - definedProp = (0, codegen_1.or)(...props.map((p) => (0, codegen_1._)`${key} === ${p}`)); - } else { - definedProp = codegen_1.nil; - } - if (patProps.length) { - definedProp = (0, codegen_1.or)(definedProp, ...patProps.map((p) => (0, codegen_1._)`${(0, code_1.usePattern)(cxt, p)}.test(${key})`)); - } - return (0, codegen_1.not)(definedProp); - } - function deleteAdditional(key) { - gen.code((0, codegen_1._)`delete ${data}[${key}]`); - } - function additionalPropertyCode(key) { - if (opts.removeAdditional === "all" || opts.removeAdditional && schema2 === false) { - deleteAdditional(key); - return; - } - if (schema2 === false) { - cxt.setParams({ additionalProperty: key }); - cxt.error(); - if (!allErrors) - gen.break(); - return; - } - if (typeof schema2 == "object" && !(0, util_1.alwaysValidSchema)(it, schema2)) { - const valid = gen.name("valid"); - if (opts.removeAdditional === "failing") { - applyAdditionalSchema(key, valid, false); - gen.if((0, codegen_1.not)(valid), () => { - cxt.reset(); - deleteAdditional(key); - }); - } else { - applyAdditionalSchema(key, valid); - if (!allErrors) - gen.if((0, codegen_1.not)(valid), () => gen.break()); - } - } - } - function applyAdditionalSchema(key, valid, errors) { - const subschema = { - keyword: "additionalProperties", - dataProp: key, - dataPropType: util_1.Type.Str - }; - if (errors === false) { - Object.assign(subschema, { - compositeRule: true, - createErrors: false, - allErrors: false - }); - } - cxt.subschema(subschema, valid); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js -var require_properties3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var validate_1 = require_validate3(); - var code_1 = require_code5(); - var util_1 = require_util16(); - var additionalProperties_1 = require_additionalProperties3(); - var def = { - keyword: "properties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema: schema2, parentSchema, data, it } = cxt; - if (it.opts.removeAdditional === "all" && parentSchema.additionalProperties === void 0) { - additionalProperties_1.default.code(new validate_1.KeywordCxt(it, additionalProperties_1.default, "additionalProperties")); - } - const allProps = (0, code_1.allSchemaProperties)(schema2); - for (const prop of allProps) { - it.definedProperties.add(prop); - } - if (it.opts.unevaluated && allProps.length && it.props !== true) { - it.props = util_1.mergeEvaluated.props(gen, (0, util_1.toHash)(allProps), it.props); - } - const properties = allProps.filter((p) => !(0, util_1.alwaysValidSchema)(it, schema2[p])); - if (properties.length === 0) - return; - const valid = gen.name("valid"); - for (const prop of properties) { - if (hasDefault(prop)) { - applyPropertySchema(prop); - } else { - gen.if((0, code_1.propertyInData)(gen, data, prop, it.opts.ownProperties)); - applyPropertySchema(prop); - if (!it.allErrors) - gen.else().var(valid, true); - gen.endIf(); - } - cxt.it.definedProperties.add(prop); - cxt.ok(valid); - } - function hasDefault(prop) { - return it.opts.useDefaults && !it.compositeRule && schema2[prop].default !== void 0; - } - function applyPropertySchema(prop) { - cxt.subschema({ - keyword: "properties", - schemaProp: prop, - dataProp: prop - }, valid); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js -var require_patternProperties3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code5(); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var util_2 = require_util16(); - var def = { - keyword: "patternProperties", - type: "object", - schemaType: "object", - code(cxt) { - const { gen, schema: schema2, data, parentSchema, it } = cxt; - const { opts } = it; - const patterns = (0, code_1.allSchemaProperties)(schema2); - const alwaysValidPatterns = patterns.filter((p) => (0, util_1.alwaysValidSchema)(it, schema2[p])); - if (patterns.length === 0 || alwaysValidPatterns.length === patterns.length && (!it.opts.unevaluated || it.props === true)) { - return; - } - const checkProperties = opts.strictSchema && !opts.allowMatchingProperties && parentSchema.properties; - const valid = gen.name("valid"); - if (it.props !== true && !(it.props instanceof codegen_1.Name)) { - it.props = (0, util_2.evaluatedPropsToName)(gen, it.props); - } - const { props } = it; - validatePatternProperties(); - function validatePatternProperties() { - for (const pat of patterns) { - if (checkProperties) - checkMatchingProperties(pat); - if (it.allErrors) { - validateProperties(pat); - } else { - gen.var(valid, true); - validateProperties(pat); - gen.if(valid); - } - } - } - function checkMatchingProperties(pat) { - for (const prop in checkProperties) { - if (new RegExp(pat).test(prop)) { - (0, util_1.checkStrictMode)(it, `property ${prop} matches pattern ${pat} (use allowMatchingProperties)`); - } - } - } - function validateProperties(pat) { - gen.forIn("key", data, (key) => { - gen.if((0, codegen_1._)`${(0, code_1.usePattern)(cxt, pat)}.test(${key})`, () => { - const alwaysValid = alwaysValidPatterns.includes(pat); - if (!alwaysValid) { - cxt.subschema({ - keyword: "patternProperties", - schemaProp: pat, - dataProp: key, - dataPropType: util_2.Type.Str - }, valid); - } - if (it.opts.unevaluated && props !== true) { - gen.assign((0, codegen_1._)`${props}[${key}]`, true); - } else if (!alwaysValid && !it.allErrors) { - gen.if((0, codegen_1.not)(valid), () => gen.break()); - } - }); - }); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js -var require_not3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util16(); - var def = { - keyword: "not", - schemaType: ["object", "boolean"], - trackErrors: true, - code(cxt) { - const { gen, schema: schema2, it } = cxt; - if ((0, util_1.alwaysValidSchema)(it, schema2)) { - cxt.fail(); - return; - } - const valid = gen.name("valid"); - cxt.subschema({ - keyword: "not", - compositeRule: true, - createErrors: false, - allErrors: false - }, valid); - cxt.failResult(valid, () => cxt.reset(), () => cxt.error()); - }, - error: { message: "must NOT be valid" } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js -var require_anyOf3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var code_1 = require_code5(); - var def = { - keyword: "anyOf", - schemaType: "array", - trackErrors: true, - code: code_1.validateUnion, - error: { message: "must match a schema in anyOf" } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js -var require_oneOf3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: "must match exactly one schema in oneOf", - params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}` - }; - var def = { - keyword: "oneOf", - schemaType: "array", - trackErrors: true, - error: error49, - code(cxt) { - const { gen, schema: schema2, parentSchema, it } = cxt; - if (!Array.isArray(schema2)) - throw new Error("ajv implementation error"); - if (it.opts.discriminator && parentSchema.discriminator) - return; - const schArr = schema2; - const valid = gen.let("valid", false); - const passing = gen.let("passing", null); - const schValid = gen.name("_valid"); - cxt.setParams({ passing }); - gen.block(validateOneOf); - cxt.result(valid, () => cxt.reset(), () => cxt.error(true)); - function validateOneOf() { - schArr.forEach((sch, i) => { - let schCxt; - if ((0, util_1.alwaysValidSchema)(it, sch)) { - gen.var(schValid, true); - } else { - schCxt = cxt.subschema({ - keyword: "oneOf", - schemaProp: i, - compositeRule: true - }, schValid); - } - if (i > 0) { - gen.if((0, codegen_1._)`${schValid} && ${valid}`).assign(valid, false).assign(passing, (0, codegen_1._)`[${passing}, ${i}]`).else(); - } - gen.if(schValid, () => { - gen.assign(valid, true); - gen.assign(passing, i); - if (schCxt) - cxt.mergeEvaluated(schCxt, codegen_1.Name); - }); - }); - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js -var require_allOf3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util16(); - var def = { - keyword: "allOf", - schemaType: "array", - code(cxt) { - const { gen, schema: schema2, it } = cxt; - if (!Array.isArray(schema2)) - throw new Error("ajv implementation error"); - const valid = gen.name("valid"); - schema2.forEach((sch, i) => { - if ((0, util_1.alwaysValidSchema)(it, sch)) - return; - const schCxt = cxt.subschema({ keyword: "allOf", schemaProp: i }, valid); - cxt.ok(valid); - cxt.mergeEvaluated(schCxt); - }); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js -var require_if3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var util_1 = require_util16(); - var error49 = { - message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`, - params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}` - }; - var def = { - keyword: "if", - schemaType: ["object", "boolean"], - trackErrors: true, - error: error49, - code(cxt) { - const { gen, parentSchema, it } = cxt; - if (parentSchema.then === void 0 && parentSchema.else === void 0) { - (0, util_1.checkStrictMode)(it, '"if" without "then" and "else" is ignored'); - } - const hasThen = hasSchema(it, "then"); - const hasElse = hasSchema(it, "else"); - if (!hasThen && !hasElse) - return; - const valid = gen.let("valid", true); - const schValid = gen.name("_valid"); - validateIf(); - cxt.reset(); - if (hasThen && hasElse) { - const ifClause = gen.let("ifClause"); - cxt.setParams({ ifClause }); - gen.if(schValid, validateClause("then", ifClause), validateClause("else", ifClause)); - } else if (hasThen) { - gen.if(schValid, validateClause("then")); - } else { - gen.if((0, codegen_1.not)(schValid), validateClause("else")); - } - cxt.pass(valid, () => cxt.error(true)); - function validateIf() { - const schCxt = cxt.subschema({ - keyword: "if", - compositeRule: true, - createErrors: false, - allErrors: false - }, schValid); - cxt.mergeEvaluated(schCxt); - } - function validateClause(keyword, ifClause) { - return () => { - const schCxt = cxt.subschema({ keyword }, schValid); - gen.assign(valid, schValid); - cxt.mergeValidEvaluated(schCxt, valid); - if (ifClause) - gen.assign(ifClause, (0, codegen_1._)`${keyword}`); - else - cxt.setParams({ ifClause: keyword }); - }; - } - } - }; - function hasSchema(it, keyword) { - const schema2 = it.schema[keyword]; - return schema2 !== void 0 && !(0, util_1.alwaysValidSchema)(it, schema2); - } - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js -var require_thenElse3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var util_1 = require_util16(); - var def = { - keyword: ["then", "else"], - schemaType: ["object", "boolean"], - code({ keyword, parentSchema, it }) { - if (parentSchema.if === void 0) - (0, util_1.checkStrictMode)(it, `"${keyword}" without "if" is ignored`); - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js -var require_applicator3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var additionalItems_1 = require_additionalItems3(); - var prefixItems_1 = require_prefixItems3(); - var items_1 = require_items3(); - var items2020_1 = require_items20203(); - var contains_1 = require_contains3(); - var dependencies_1 = require_dependencies3(); - var propertyNames_1 = require_propertyNames3(); - var additionalProperties_1 = require_additionalProperties3(); - var properties_1 = require_properties3(); - var patternProperties_1 = require_patternProperties3(); - var not_1 = require_not3(); - var anyOf_1 = require_anyOf3(); - var oneOf_1 = require_oneOf3(); - var allOf_1 = require_allOf3(); - var if_1 = require_if3(); - var thenElse_1 = require_thenElse3(); - function getApplicator(draft2020 = false) { - const applicator = [ - // any - not_1.default, - anyOf_1.default, - oneOf_1.default, - allOf_1.default, - if_1.default, - thenElse_1.default, - // object - propertyNames_1.default, - additionalProperties_1.default, - dependencies_1.default, - properties_1.default, - patternProperties_1.default - ]; - if (draft2020) - applicator.push(prefixItems_1.default, items2020_1.default); - else - applicator.push(additionalItems_1.default, items_1.default); - applicator.push(contains_1.default); - return applicator; - } - exports.default = getApplicator; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js -var require_format4 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var error49 = { - message: ({ schemaCode }) => (0, codegen_1.str)`must match format "${schemaCode}"`, - params: ({ schemaCode }) => (0, codegen_1._)`{format: ${schemaCode}}` - }; - var def = { - keyword: "format", - type: ["number", "string"], - schemaType: "string", - $data: true, - error: error49, - code(cxt, ruleType) { - const { gen, data, $data, schema: schema2, schemaCode, it } = cxt; - const { opts, errSchemaPath, schemaEnv, self: self2 } = it; - if (!opts.validateFormats) - return; - if ($data) - validate$DataFormat(); - else - validateFormat(); - function validate$DataFormat() { - const fmts = gen.scopeValue("formats", { - ref: self2.formats, - code: opts.code.formats - }); - const fDef = gen.const("fDef", (0, codegen_1._)`${fmts}[${schemaCode}]`); - const fType = gen.let("fType"); - const format2 = gen.let("format"); - gen.if((0, codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`, () => gen.assign(fType, (0, codegen_1._)`${fDef}.type || "string"`).assign(format2, (0, codegen_1._)`${fDef}.validate`), () => gen.assign(fType, (0, codegen_1._)`"string"`).assign(format2, fDef)); - cxt.fail$data((0, codegen_1.or)(unknownFmt(), invalidFmt())); - function unknownFmt() { - if (opts.strictSchema === false) - return codegen_1.nil; - return (0, codegen_1._)`${schemaCode} && !${format2}`; - } - function invalidFmt() { - const callFormat = schemaEnv.$async ? (0, codegen_1._)`(${fDef}.async ? await ${format2}(${data}) : ${format2}(${data}))` : (0, codegen_1._)`${format2}(${data})`; - const validData = (0, codegen_1._)`(typeof ${format2} == "function" ? ${callFormat} : ${format2}.test(${data}))`; - return (0, codegen_1._)`${format2} && ${format2} !== true && ${fType} === ${ruleType} && !${validData}`; - } - } - function validateFormat() { - const formatDef = self2.formats[schema2]; - if (!formatDef) { - unknownFormat(); - return; - } - if (formatDef === true) - return; - const [fmtType, format2, fmtRef] = getFormat(formatDef); - if (fmtType === ruleType) - cxt.pass(validCondition()); - function unknownFormat() { - if (opts.strictSchema === false) { - self2.logger.warn(unknownMsg()); - return; - } - throw new Error(unknownMsg()); - function unknownMsg() { - return `unknown format "${schema2}" ignored in schema at path "${errSchemaPath}"`; - } - } - function getFormat(fmtDef) { - const code = fmtDef instanceof RegExp ? (0, codegen_1.regexpCode)(fmtDef) : opts.code.formats ? (0, codegen_1._)`${opts.code.formats}${(0, codegen_1.getProperty)(schema2)}` : void 0; - const fmt = gen.scopeValue("formats", { key: schema2, ref: fmtDef, code }); - if (typeof fmtDef == "object" && !(fmtDef instanceof RegExp)) { - return [fmtDef.type || "string", fmtDef.validate, (0, codegen_1._)`${fmt}.validate`]; - } - return ["string", fmtDef, fmt]; - } - function validCondition() { - if (typeof formatDef == "object" && !(formatDef instanceof RegExp) && formatDef.async) { - if (!schemaEnv.$async) - throw new Error("async format in sync schema"); - return (0, codegen_1._)`await ${fmtRef}(${data})`; - } - return typeof format2 == "function" ? (0, codegen_1._)`${fmtRef}(${data})` : (0, codegen_1._)`${fmtRef}.test(${data})`; - } - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js -var require_format5 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var format_1 = require_format4(); - var format2 = [format_1.default]; - exports.default = format2; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js -var require_metadata3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.contentVocabulary = exports.metadataVocabulary = void 0; - exports.metadataVocabulary = [ - "title", - "description", - "default", - "deprecated", - "readOnly", - "writeOnly", - "examples" - ]; - exports.contentVocabulary = [ - "contentMediaType", - "contentEncoding", - "contentSchema" - ]; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js -var require_draft73 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var core_1 = require_core6(); - var validation_1 = require_validation3(); - var applicator_1 = require_applicator3(); - var format_1 = require_format5(); - var metadata_1 = require_metadata3(); - var draft7Vocabularies = [ - core_1.default, - validation_1.default, - (0, applicator_1.default)(), - format_1.default, - metadata_1.metadataVocabulary, - metadata_1.contentVocabulary - ]; - exports.default = draft7Vocabularies; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js -var require_types3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.DiscrError = void 0; - var DiscrError; - (function(DiscrError2) { - DiscrError2["Tag"] = "tag"; - DiscrError2["Mapping"] = "mapping"; - })(DiscrError || (exports.DiscrError = DiscrError = {})); - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js -var require_discriminator3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - var codegen_1 = require_codegen3(); - var types_1 = require_types3(); - var compile_1 = require_compile3(); - var ref_error_1 = require_ref_error3(); - var util_1 = require_util16(); - var error49 = { - message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag ? `tag "${tagName}" must be string` : `value of tag "${tagName}" must be in oneOf`, - params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}` - }; - var def = { - keyword: "discriminator", - type: "object", - schemaType: "object", - error: error49, - code(cxt) { - const { gen, data, schema: schema2, parentSchema, it } = cxt; - const { oneOf } = parentSchema; - if (!it.opts.discriminator) { - throw new Error("discriminator: requires discriminator option"); - } - const tagName = schema2.propertyName; - if (typeof tagName != "string") - throw new Error("discriminator: requires propertyName"); - if (schema2.mapping) - throw new Error("discriminator: mapping is not supported"); - if (!oneOf) - throw new Error("discriminator: requires oneOf keyword"); - const valid = gen.let("valid", false); - const tag = gen.const("tag", (0, codegen_1._)`${data}${(0, codegen_1.getProperty)(tagName)}`); - gen.if((0, codegen_1._)`typeof ${tag} == "string"`, () => validateMapping(), () => cxt.error(false, { discrError: types_1.DiscrError.Tag, tag, tagName })); - cxt.ok(valid); - function validateMapping() { - const mapping = getMapping(); - gen.if(false); - for (const tagValue in mapping) { - gen.elseIf((0, codegen_1._)`${tag} === ${tagValue}`); - gen.assign(valid, applyTagSchema(mapping[tagValue])); - } - gen.else(); - cxt.error(false, { discrError: types_1.DiscrError.Mapping, tag, tagName }); - gen.endIf(); - } - function applyTagSchema(schemaProp) { - const _valid = gen.name("valid"); - const schCxt = cxt.subschema({ keyword: "oneOf", schemaProp }, _valid); - cxt.mergeEvaluated(schCxt, codegen_1.Name); - return _valid; - } - function getMapping() { - var _a2; - const oneOfMapping = {}; - const topRequired = hasRequired(parentSchema); - let tagRequired = true; - for (let i = 0; i < oneOf.length; i++) { - let sch = oneOf[i]; - if ((sch === null || sch === void 0 ? void 0 : sch.$ref) && !(0, util_1.schemaHasRulesButRef)(sch, it.self.RULES)) { - const ref = sch.$ref; - sch = compile_1.resolveRef.call(it.self, it.schemaEnv.root, it.baseId, ref); - if (sch instanceof compile_1.SchemaEnv) - sch = sch.schema; - if (sch === void 0) - throw new ref_error_1.default(it.opts.uriResolver, it.baseId, ref); - } - const propSch = (_a2 = sch === null || sch === void 0 ? void 0 : sch.properties) === null || _a2 === void 0 ? void 0 : _a2[tagName]; - if (typeof propSch != "object") { - throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`); - } - tagRequired = tagRequired && (topRequired || hasRequired(sch)); - addMappings(propSch, i); - } - if (!tagRequired) - throw new Error(`discriminator: "${tagName}" must be required`); - return oneOfMapping; - function hasRequired({ required: required3 }) { - return Array.isArray(required3) && required3.includes(tagName); - } - function addMappings(sch, i) { - if (sch.const) { - addMapping(sch.const, i); - } else if (sch.enum) { - for (const tagValue of sch.enum) { - addMapping(tagValue, i); - } - } else { - throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`); - } - } - function addMapping(tagValue, i) { - if (typeof tagValue != "string" || tagValue in oneOfMapping) { - throw new Error(`discriminator: "${tagName}" values must be unique strings`); - } - oneOfMapping[tagValue] = i; - } - } - } - }; - exports.default = def; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json -var require_json_schema_draft_073 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module) { - module.exports = { - $schema: "http://json-schema.org/draft-07/schema#", - $id: "http://json-schema.org/draft-07/schema#", - title: "Core schema meta-schema", - definitions: { - schemaArray: { - type: "array", - minItems: 1, - items: { $ref: "#" } - }, - nonNegativeInteger: { - type: "integer", - minimum: 0 - }, - nonNegativeIntegerDefault0: { - allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }] - }, - simpleTypes: { - enum: ["array", "boolean", "integer", "null", "number", "object", "string"] - }, - stringArray: { - type: "array", - items: { type: "string" }, - uniqueItems: true, - default: [] - } - }, - type: ["object", "boolean"], - properties: { - $id: { - type: "string", - format: "uri-reference" - }, - $schema: { - type: "string", - format: "uri" - }, - $ref: { - type: "string", - format: "uri-reference" - }, - $comment: { - type: "string" - }, - title: { - type: "string" - }, - description: { - type: "string" - }, - default: true, - readOnly: { - type: "boolean", - default: false - }, - examples: { - type: "array", - items: true - }, - multipleOf: { - type: "number", - exclusiveMinimum: 0 - }, - maximum: { - type: "number" - }, - exclusiveMaximum: { - type: "number" - }, - minimum: { - type: "number" - }, - exclusiveMinimum: { - type: "number" - }, - maxLength: { $ref: "#/definitions/nonNegativeInteger" }, - minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - pattern: { - type: "string", - format: "regex" - }, - additionalItems: { $ref: "#" }, - items: { - anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], - default: true - }, - maxItems: { $ref: "#/definitions/nonNegativeInteger" }, - minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - uniqueItems: { - type: "boolean", - default: false - }, - contains: { $ref: "#" }, - maxProperties: { $ref: "#/definitions/nonNegativeInteger" }, - minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, - required: { $ref: "#/definitions/stringArray" }, - additionalProperties: { $ref: "#" }, - definitions: { - type: "object", - additionalProperties: { $ref: "#" }, - default: {} - }, - properties: { - type: "object", - additionalProperties: { $ref: "#" }, - default: {} - }, - patternProperties: { - type: "object", - additionalProperties: { $ref: "#" }, - propertyNames: { format: "regex" }, - default: {} - }, - dependencies: { - type: "object", - additionalProperties: { - anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }] - } - }, - propertyNames: { $ref: "#" }, - const: true, - enum: { - type: "array", - items: true, - minItems: 1, - uniqueItems: true - }, - type: { - anyOf: [ - { $ref: "#/definitions/simpleTypes" }, - { - type: "array", - items: { $ref: "#/definitions/simpleTypes" }, - minItems: 1, - uniqueItems: true - } - ] - }, - format: { type: "string" }, - contentMediaType: { type: "string" }, - contentEncoding: { type: "string" }, - if: { $ref: "#" }, - then: { $ref: "#" }, - else: { $ref: "#" }, - allOf: { $ref: "#/definitions/schemaArray" }, - anyOf: { $ref: "#/definitions/schemaArray" }, - oneOf: { $ref: "#/definitions/schemaArray" }, - not: { $ref: "#" } - }, - default: true - }; - } -}); - -// node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js -var require_ajv3 = __commonJS({ - "node_modules/.pnpm/ajv@8.18.0/node_modules/ajv/dist/ajv.js"(exports, module) { - "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0; - var core_1 = require_core5(); - var draft7_1 = require_draft73(); - var discriminator_1 = require_discriminator3(); - var draft7MetaSchema = require_json_schema_draft_073(); - var META_SUPPORT_DATA = ["/properties"]; - var META_SCHEMA_ID = "http://json-schema.org/draft-07/schema"; - var Ajv3 = class extends core_1.default { - _addVocabularies() { - super._addVocabularies(); - draft7_1.default.forEach((v) => this.addVocabulary(v)); - if (this.opts.discriminator) - this.addKeyword(discriminator_1.default); - } - _addDefaultMetaSchema() { - super._addDefaultMetaSchema(); - if (!this.opts.meta) - return; - const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema; - this.addMetaSchema(metaSchema, META_SCHEMA_ID, false); - this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID; - } - defaultMeta() { - return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : void 0); - } - }; - exports.Ajv = Ajv3; - module.exports = exports = Ajv3; - module.exports.Ajv = Ajv3; - Object.defineProperty(exports, "__esModule", { value: true }); - exports.default = Ajv3; - var validate_1 = require_validate3(); - Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() { - return validate_1.KeywordCxt; - } }); - var codegen_1 = require_codegen3(); - Object.defineProperty(exports, "_", { enumerable: true, get: function() { - return codegen_1._; - } }); - Object.defineProperty(exports, "str", { enumerable: true, get: function() { - return codegen_1.str; - } }); - Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { - return codegen_1.stringify; - } }); - Object.defineProperty(exports, "nil", { enumerable: true, get: function() { - return codegen_1.nil; - } }); - Object.defineProperty(exports, "Name", { enumerable: true, get: function() { - return codegen_1.Name; - } }); - Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() { - return codegen_1.CodeGen; - } }); - var validation_error_1 = require_validation_error3(); - Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function() { - return validation_error_1.default; - } }); - var ref_error_1 = require_ref_error3(); - Object.defineProperty(exports, "MissingRefError", { enumerable: true, get: function() { - return ref_error_1.default; - } }); - } -}); - // node_modules/.pnpm/strtok3@10.3.4/node_modules/strtok3/lib/stream/Errors.js var defaultMessages, EndOfStreamError, AbortError; var init_Errors = __esm({ @@ -80747,17 +76408,22 @@ var require_ieee754 = __commonJS({ } }); -// node_modules/.pnpm/@borewit+text-codec@0.1.1/node_modules/@borewit/text-codec/lib/index.js +// node_modules/.pnpm/@borewit+text-codec@0.2.1/node_modules/@borewit/text-codec/lib/index.js +function utf8Decoder() { + if (typeof globalThis.TextDecoder === "undefined") + return void 0; + return _utf8Decoder !== null && _utf8Decoder !== void 0 ? _utf8Decoder : _utf8Decoder = new globalThis.TextDecoder("utf-8"); +} function textDecode(bytes, encoding = "utf-8") { switch (encoding.toLowerCase()) { case "utf-8": - case "utf8": - if (typeof globalThis.TextDecoder !== "undefined") { - return new globalThis.TextDecoder("utf-8").decode(bytes); - } - return decodeUTF8(bytes); + case "utf8": { + const dec = utf8Decoder(); + return dec ? dec.decode(bytes) : decodeUTF8(bytes); + } case "utf-16le": return decodeUTF16LE(bytes); + case "us-ascii": case "ascii": return decodeASCII(bytes); case "latin1": @@ -80770,6 +76436,7 @@ function textDecode(bytes, encoding = "utf-8") { } } function decodeUTF8(bytes) { + const parts = []; let out = ""; let i = 0; while (i < bytes.length) { @@ -80791,36 +76458,74 @@ function decodeUTF8(bytes) { cp -= 65536; out += String.fromCharCode(55296 + (cp >> 10 & 1023), 56320 + (cp & 1023)); } - } - return out; -} -function decodeUTF16LE(bytes) { - let out = ""; - for (let i = 0; i < bytes.length; i += 2) { - out += String.fromCharCode(bytes[i] | bytes[i + 1] << 8); - } - return out; -} -function decodeASCII(bytes) { - return String.fromCharCode(...bytes.map((b) => b & 127)); -} -function decodeLatin1(bytes) { - return String.fromCharCode(...bytes); -} -function decodeWindows1252(bytes) { - let out = ""; - for (const b of bytes) { - if (b >= 128 && b <= 159 && WINDOWS_1252_EXTRA[b]) { - out += WINDOWS_1252_EXTRA[b]; - } else { - out += String.fromCharCode(b); + if (out.length >= CHUNK) { + parts.push(out); + out = ""; } } - return out; + if (out) + parts.push(out); + return parts.join(""); } -var WINDOWS_1252_EXTRA, WINDOWS_1252_REVERSE; +function decodeUTF16LE(bytes) { + const len = bytes.length & ~1; + if (len === 0) + return ""; + const parts = []; + const maxUnits = CHUNK; + for (let i = 0; i < len; ) { + const unitsThis = Math.min(maxUnits, len - i >> 1); + const units = new Array(unitsThis); + for (let j = 0; j < unitsThis; j++, i += 2) { + units[j] = bytes[i] | bytes[i + 1] << 8; + } + parts.push(String.fromCharCode.apply(null, units)); + } + return parts.join(""); +} +function decodeASCII(bytes) { + const parts = []; + for (let i = 0; i < bytes.length; i += CHUNK) { + const end = Math.min(bytes.length, i + CHUNK); + const codes = new Array(end - i); + for (let j = i, k = 0; j < end; j++, k++) { + codes[k] = bytes[j] & 127; + } + parts.push(String.fromCharCode.apply(null, codes)); + } + return parts.join(""); +} +function decodeLatin1(bytes) { + const parts = []; + for (let i = 0; i < bytes.length; i += CHUNK) { + const end = Math.min(bytes.length, i + CHUNK); + const codes = new Array(end - i); + for (let j = i, k = 0; j < end; j++, k++) { + codes[k] = bytes[j]; + } + parts.push(String.fromCharCode.apply(null, codes)); + } + return parts.join(""); +} +function decodeWindows1252(bytes) { + const parts = []; + let out = ""; + for (let i = 0; i < bytes.length; i++) { + const b = bytes[i]; + const extra = b >= 128 && b <= 159 ? WINDOWS_1252_EXTRA[b] : void 0; + out += extra !== null && extra !== void 0 ? extra : String.fromCharCode(b); + if (out.length >= CHUNK) { + parts.push(out); + out = ""; + } + } + if (out) + parts.push(out); + return parts.join(""); +} +var WINDOWS_1252_EXTRA, WINDOWS_1252_REVERSE, _utf8Decoder, CHUNK; var init_lib2 = __esm({ - "node_modules/.pnpm/@borewit+text-codec@0.1.1/node_modules/@borewit/text-codec/lib/index.js"() { + "node_modules/.pnpm/@borewit+text-codec@0.2.1/node_modules/@borewit/text-codec/lib/index.js"() { WINDOWS_1252_EXTRA = { 128: "\u20AC", 130: "\u201A", @@ -80852,18 +76557,19 @@ var init_lib2 = __esm({ }; WINDOWS_1252_REVERSE = {}; for (const [code, char] of Object.entries(WINDOWS_1252_EXTRA)) { - WINDOWS_1252_REVERSE[char] = Number.parseInt(code); + WINDOWS_1252_REVERSE[char] = Number.parseInt(code, 10); } + CHUNK = 32 * 1024; } }); -// node_modules/.pnpm/token-types@6.1.1/node_modules/token-types/lib/index.js +// node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js function dv(array3) { return new DataView(array3.buffer, array3.byteOffset); } var ieee754, UINT8, UINT16_LE, UINT16_BE, UINT32_LE, UINT32_BE, INT32_BE, UINT64_LE, StringType; var init_lib3 = __esm({ - "node_modules/.pnpm/token-types@6.1.1/node_modules/token-types/lib/index.js"() { + "node_modules/.pnpm/token-types@6.1.2/node_modules/token-types/lib/index.js"() { ieee754 = __toESM(require_ieee754(), 1); init_lib2(); UINT8 = { @@ -80975,14 +76681,14 @@ var require_ms = __commonJS({ if (str.length > 100) { return; } - var match2 = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + var match3 = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( str ); - if (!match2) { + if (!match3) { return; } - var n = parseFloat(match2[1]); - var type2 = (match2[2] || "ms").toLowerCase(); + var n = parseFloat(match3[1]); + var type2 = (match3[2] || "ms").toLowerCase(); switch (type2) { case "years": case "year": @@ -81113,19 +76819,19 @@ var require_common = __commonJS({ args2.unshift("%O"); } let index = 0; - args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match2, format2) => { - if (match2 === "%%") { + args2[0] = args2[0].replace(/%([a-zA-Z%])/g, (match3, format2) => { + if (match3 === "%%") { return "%"; } index++; const formatter = createDebug.formatters[format2]; if (typeof formatter === "function") { const val = args2[index]; - match2 = formatter.call(self2, val); + match3 = formatter.call(self2, val); args2.splice(index, 1); index--; } - return match2; + return match3; }); createDebug.formatArgs.call(self2, args2); const logFn = self2.log || createDebug.log; @@ -81360,12 +77066,12 @@ var require_browser = __commonJS({ args2.splice(1, 0, c, "color: inherit"); let index = 0; let lastC = 0; - args2[0].replace(/%[a-zA-Z%]/g, (match2) => { - if (match2 === "%%") { + args2[0].replace(/%[a-zA-Z%]/g, (match3) => { + if (match3 === "%%") { return; } index++; - if (match2 === "%c") { + if (match3 === "%c") { lastC = index; } }); @@ -84326,7 +80032,7 @@ var require_EventTarget = __commonJS({ // And update the counter when nodes are added and removed from the // tree as well. Then, in dispatch event, the capturing phase can // abort if it sees any node with a zero count. - addEventListener: function addEventListener(type2, listener, capture) { + addEventListener: function addEventListener2(type2, listener, capture) { if (!listener) return; if (capture === void 0) capture = false; if (!this._listeners) this._listeners = /* @__PURE__ */ Object.create(null); @@ -84718,8 +80424,8 @@ var require_NodeUtils = __commonJS({ } const result = [...rawText]; const matches = rawText.matchAll(new RegExp(parentClosingTag, "ig")); - for (const match2 of matches) { - result[match2.index] = "<"; + for (const match3 of matches) { + result[match3.index] = "<"; } return result.join(""); } @@ -84802,36 +80508,36 @@ var require_NodeUtils = __commonJS({ var require_Node = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/Node.js"(exports, module) { "use strict"; - module.exports = Node; + module.exports = Node3; var EventTarget2 = require_EventTarget(); var LinkedList = require_LinkedList(); var NodeUtils = require_NodeUtils(); var utils = require_utils7(); - function Node() { + function Node3() { EventTarget2.call(this); this.parentNode = null; this._nextSibling = this._previousSibling = this; this._index = void 0; } - var ELEMENT_NODE = Node.ELEMENT_NODE = 1; - var ATTRIBUTE_NODE = Node.ATTRIBUTE_NODE = 2; - var TEXT_NODE = Node.TEXT_NODE = 3; - var CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE = 4; - var ENTITY_REFERENCE_NODE = Node.ENTITY_REFERENCE_NODE = 5; - var ENTITY_NODE = Node.ENTITY_NODE = 6; - var PROCESSING_INSTRUCTION_NODE = Node.PROCESSING_INSTRUCTION_NODE = 7; - var COMMENT_NODE = Node.COMMENT_NODE = 8; - var DOCUMENT_NODE = Node.DOCUMENT_NODE = 9; - var DOCUMENT_TYPE_NODE = Node.DOCUMENT_TYPE_NODE = 10; - var DOCUMENT_FRAGMENT_NODE = Node.DOCUMENT_FRAGMENT_NODE = 11; - var NOTATION_NODE = Node.NOTATION_NODE = 12; - var DOCUMENT_POSITION_DISCONNECTED = Node.DOCUMENT_POSITION_DISCONNECTED = 1; - var DOCUMENT_POSITION_PRECEDING = Node.DOCUMENT_POSITION_PRECEDING = 2; - var DOCUMENT_POSITION_FOLLOWING = Node.DOCUMENT_POSITION_FOLLOWING = 4; - var DOCUMENT_POSITION_CONTAINS = Node.DOCUMENT_POSITION_CONTAINS = 8; - var DOCUMENT_POSITION_CONTAINED_BY = Node.DOCUMENT_POSITION_CONTAINED_BY = 16; - var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; - Node.prototype = Object.create(EventTarget2.prototype, { + var ELEMENT_NODE = Node3.ELEMENT_NODE = 1; + var ATTRIBUTE_NODE = Node3.ATTRIBUTE_NODE = 2; + var TEXT_NODE = Node3.TEXT_NODE = 3; + var CDATA_SECTION_NODE = Node3.CDATA_SECTION_NODE = 4; + var ENTITY_REFERENCE_NODE = Node3.ENTITY_REFERENCE_NODE = 5; + var ENTITY_NODE = Node3.ENTITY_NODE = 6; + var PROCESSING_INSTRUCTION_NODE = Node3.PROCESSING_INSTRUCTION_NODE = 7; + var COMMENT_NODE = Node3.COMMENT_NODE = 8; + var DOCUMENT_NODE = Node3.DOCUMENT_NODE = 9; + var DOCUMENT_TYPE_NODE = Node3.DOCUMENT_TYPE_NODE = 10; + var DOCUMENT_FRAGMENT_NODE = Node3.DOCUMENT_FRAGMENT_NODE = 11; + var NOTATION_NODE = Node3.NOTATION_NODE = 12; + var DOCUMENT_POSITION_DISCONNECTED = Node3.DOCUMENT_POSITION_DISCONNECTED = 1; + var DOCUMENT_POSITION_PRECEDING = Node3.DOCUMENT_POSITION_PRECEDING = 2; + var DOCUMENT_POSITION_FOLLOWING = Node3.DOCUMENT_POSITION_FOLLOWING = 4; + var DOCUMENT_POSITION_CONTAINS = Node3.DOCUMENT_POSITION_CONTAINS = 8; + var DOCUMENT_POSITION_CONTAINED_BY = Node3.DOCUMENT_POSITION_CONTAINED_BY = 16; + var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = Node3.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; + Node3.prototype = Object.create(EventTarget2.prototype, { // Node that are not inserted into the tree inherit a null parent // XXX: the baseURI attribute is defined by dom core, but // a correct implementation of it requires HTML features, so @@ -84847,11 +80553,11 @@ var require_Node = __commonJS({ get: function() { let node2 = this; while (node2 != null) { - if (node2.nodeType === Node.DOCUMENT_NODE) { + if (node2.nodeType === Node3.DOCUMENT_NODE) { return true; } node2 = node2.parentNode; - if (node2 != null && node2.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + if (node2 != null && node2.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) { node2 = node2.host; } } @@ -85329,7 +81035,7 @@ var require_Node = __commonJS({ if (child.normalize) { child.normalize(); } - if (child.nodeType !== Node.TEXT_NODE) { + if (child.nodeType !== Node3.TEXT_NODE) { continue; } if (child.nodeValue === "") { @@ -85339,7 +81045,7 @@ var require_Node = __commonJS({ var prevChild = child.previousSibling; if (prevChild === null) { continue; - } else if (prevChild.nodeType === Node.TEXT_NODE) { + } else if (prevChild.nodeType === Node3.TEXT_NODE) { prevChild.appendData(child.nodeValue); this.removeChild(child); } @@ -85453,13 +81159,13 @@ var require_ContainerNode = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/ContainerNode.js"(exports, module) { "use strict"; module.exports = ContainerNode; - var Node = require_Node(); + var Node3 = require_Node(); var NodeList = require_NodeList(); function ContainerNode() { - Node.call(this); + Node3.call(this); this._firstChild = this._childNodes = null; } - ContainerNode.prototype = Object.create(Node.prototype, { + ContainerNode.prototype = Object.create(Node3.prototype, { hasChildNodes: { value: function() { if (this._childNodes) { return this._childNodes.length > 0; @@ -85700,7 +81406,7 @@ var require_FilteredElementList = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/FilteredElementList.js"(exports, module) { "use strict"; module.exports = FilteredElementList; - var Node = require_Node(); + var Node3 = require_Node(); function FilteredElementList(root, filter) { this.root = root; this.filter = filter; @@ -85751,7 +81457,7 @@ var require_FilteredElementList = __commonJS({ next: { value: function() { var start = this.cache.length === 0 ? this.root : this.cache[this.cache.length - 1]; var elt; - if (start.nodeType === Node.DOCUMENT_NODE) + if (start.nodeType === Node3.DOCUMENT_NODE) elt = start.documentElement; else elt = start.nextElement(this.root); @@ -86671,13 +82377,13 @@ var require_select = __commonJS({ var require_ChildNode = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/ChildNode.js"(exports, module) { "use strict"; - var Node = require_Node(); + var Node3 = require_Node(); var LinkedList = require_LinkedList(); var createDocumentFragmentFromArguments = function(document2, args2) { var docFrag = document2.createDocumentFragment(); for (var i = 0; i < args2.length; i++) { var argItem = args2[i]; - var isNode2 = argItem instanceof Node; + var isNode2 = argItem instanceof Node3; docFrag.appendChild(isNode2 ? argItem : document2.createTextNode(String(argItem))); } return docFrag; @@ -86772,12 +82478,12 @@ var require_ChildNode = __commonJS({ var require_NonDocumentTypeChildNode = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/NonDocumentTypeChildNode.js"(exports, module) { "use strict"; - var Node = require_Node(); + var Node3 = require_Node(); var NonDocumentTypeChildNode = { nextElementSibling: { get: function() { if (this.parentNode) { for (var kid = this.nextSibling; kid !== null; kid = kid.nextSibling) { - if (kid.nodeType === Node.ELEMENT_NODE) return kid; + if (kid.nodeType === Node3.ELEMENT_NODE) return kid; } } return null; @@ -86785,7 +82491,7 @@ var require_NonDocumentTypeChildNode = __commonJS({ previousElementSibling: { get: function() { if (this.parentNode) { for (var kid = this.previousSibling; kid !== null; kid = kid.previousSibling) { - if (kid.nodeType === Node.ELEMENT_NODE) return kid; + if (kid.nodeType === Node3.ELEMENT_NODE) return kid; } } return null; @@ -86844,7 +82550,7 @@ var require_Element = __commonJS({ var utils = require_utils7(); var NAMESPACE = utils.NAMESPACE; var attributes = require_attributes(); - var Node = require_Node(); + var Node3 = require_Node(); var NodeList = require_NodeList(); var NodeUtils = require_NodeUtils(); var FilteredElementList = require_FilteredElementList(); @@ -86858,7 +82564,7 @@ var require_Element = __commonJS({ var uppercaseCache = /* @__PURE__ */ Object.create(null); function Element(doc, localName, namespaceURI, prefix) { ContainerNode.call(this); - this.nodeType = Node.ELEMENT_NODE; + this.nodeType = Node3.ELEMENT_NODE; this.ownerDocument = doc; this.localName = localName; this.namespaceURI = namespaceURI; @@ -86869,7 +82575,7 @@ var require_Element = __commonJS({ this._attrKeys = []; } function recursiveGetText(node2, a) { - if (node2.nodeType === Node.TEXT_NODE) { + if (node2.nodeType === Node3.TEXT_NODE) { a.push(node2._data); } else { for (var i = 0, n = node2.childNodes.length; i < n; i++) @@ -86951,10 +82657,10 @@ var require_Element = __commonJS({ if (parent === null) { return; } - if (parent.nodeType === Node.DOCUMENT_NODE) { + if (parent.nodeType === Node3.DOCUMENT_NODE) { utils.NoModificationAllowedError(); } - if (parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + if (parent.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) { parent = parent.ownerDocument.createElement("body"); } var parser = document2.implementation.mozHTMLParser( @@ -86987,7 +82693,7 @@ var require_Element = __commonJS({ } } }, insertAdjacentElement: { value: function insertAdjacentElement(position, element) { - if (element.nodeType !== Node.ELEMENT_NODE) { + if (element.nodeType !== Node3.ELEMENT_NODE) { throw new TypeError("not an element"); } position = utils.toASCIILowerCase(String(position)); @@ -87006,7 +82712,7 @@ var require_Element = __commonJS({ case "beforebegin": case "afterend": context = this.parentNode; - if (context === null || context.nodeType === Node.DOCUMENT_NODE) { + if (context === null || context.nodeType === Node3.DOCUMENT_NODE) { utils.NoModificationAllowedError(); } break; @@ -87041,13 +82747,13 @@ var require_Element = __commonJS({ } }, firstElementChild: { get: function() { for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) { - if (kid.nodeType === Node.ELEMENT_NODE) return kid; + if (kid.nodeType === Node3.ELEMENT_NODE) return kid; } return null; } }, lastElementChild: { get: function() { for (var kid = this.lastChild; kid !== null; kid = kid.previousSibling) { - if (kid.nodeType === Node.ELEMENT_NODE) return kid; + if (kid.nodeType === Node3.ELEMENT_NODE) return kid; } return null; } }, @@ -87620,7 +83326,7 @@ var require_Element = __commonJS({ return el; } el = el.parentElement || el.parentNode; - } while (el !== null && el.nodeType === Node.ELEMENT_NODE); + } while (el !== null && el.nodeType === Node3.ELEMENT_NODE); return null; } }, querySelector: { value: function(selector) { @@ -87711,7 +83417,7 @@ var require_Element = __commonJS({ } }, // Legacy aliases (see gh#70 and https://dom.spec.whatwg.org/#interface-attr) nodeType: { get: function() { - return Node.ATTRIBUTE_NODE; + return Node3.ATTRIBUTE_NODE; } }, nodeName: { get: function() { return this.name; @@ -87816,7 +83522,7 @@ var require_Element = __commonJS({ this.childrenByNumber = []; this.childrenByName = /* @__PURE__ */ Object.create(null); for (var c = this.element.firstChild; c !== null; c = c.nextSibling) { - if (c.nodeType === Node.ELEMENT_NODE) { + if (c.nodeType === Node3.ELEMENT_NODE) { this[this.childrenByNumber.length] = c; this.childrenByNumber.push(c); var id = c.getAttribute("id"); @@ -87876,15 +83582,15 @@ var require_Leaf = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/Leaf.js"(exports, module) { "use strict"; module.exports = Leaf; - var Node = require_Node(); + var Node3 = require_Node(); var NodeList = require_NodeList(); var utils = require_utils7(); var HierarchyRequestError = utils.HierarchyRequestError; var NotFoundError = utils.NotFoundError; function Leaf() { - Node.call(this); + Node3.call(this); } - Leaf.prototype = Object.create(Node.prototype, { + Leaf.prototype = Object.create(Node3.prototype, { hasChildNodes: { value: function() { return false; } }, @@ -88029,11 +83735,11 @@ var require_Text = __commonJS({ "use strict"; module.exports = Text; var utils = require_utils7(); - var Node = require_Node(); + var Node3 = require_Node(); var CharacterData = require_CharacterData(); function Text(doc, data) { CharacterData.call(this); - this.nodeType = Node.TEXT_NODE; + this.nodeType = Node3.TEXT_NODE; this.ownerDocument = doc; this._data = data; this._index = void 0; @@ -88082,7 +83788,7 @@ var require_Text = __commonJS({ wholeText: { get: function wholeText() { var result = this.textContent; for (var next2 = this.nextSibling; next2; next2 = next2.nextSibling) { - if (next2.nodeType !== Node.TEXT_NODE) { + if (next2.nodeType !== Node3.TEXT_NODE) { break; } result += next2.textContent; @@ -88104,11 +83810,11 @@ var require_Comment = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/Comment.js"(exports, module) { "use strict"; module.exports = Comment2; - var Node = require_Node(); + var Node3 = require_Node(); var CharacterData = require_CharacterData(); function Comment2(doc, data) { CharacterData.call(this); - this.nodeType = Node.COMMENT_NODE; + this.nodeType = Node3.COMMENT_NODE; this.ownerDocument = doc; this._data = data; } @@ -88151,7 +83857,7 @@ var require_DocumentFragment = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/DocumentFragment.js"(exports, module) { "use strict"; module.exports = DocumentFragment; - var Node = require_Node(); + var Node3 = require_Node(); var NodeList = require_NodeList(); var ContainerNode = require_ContainerNode(); var Element = require_Element(); @@ -88159,7 +83865,7 @@ var require_DocumentFragment = __commonJS({ var utils = require_utils7(); function DocumentFragment(doc) { ContainerNode.call(this); - this.nodeType = Node.DOCUMENT_FRAGMENT_NODE; + this.nodeType = Node3.DOCUMENT_FRAGMENT_NODE; this.ownerDocument = doc; } DocumentFragment.prototype = Object.create(ContainerNode.prototype, { @@ -88216,11 +83922,11 @@ var require_ProcessingInstruction = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/ProcessingInstruction.js"(exports, module) { "use strict"; module.exports = ProcessingInstruction; - var Node = require_Node(); + var Node3 = require_Node(); var CharacterData = require_CharacterData(); function ProcessingInstruction(doc, target, data) { CharacterData.call(this); - this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; + this.nodeType = Node3.PROCESSING_INSTRUCTION_NODE; this.ownerDocument = doc; this.target = target; this._data = data; @@ -88368,7 +84074,7 @@ var require_TreeWalker = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/TreeWalker.js"(exports, module) { "use strict"; module.exports = TreeWalker; - var Node = require_Node(); + var Node3 = require_Node(); var NodeFilter = require_NodeFilter(); var NodeTraversal = require_NodeTraversal(); var utils = require_utils7(); @@ -88470,7 +84176,7 @@ var require_TreeWalker = __commonJS({ return this._currentNode; }, set: function setCurrentNode(v) { - if (!(v instanceof Node)) { + if (!(v instanceof Node3)) { throw new TypeError("Not a Node"); } this._currentNode = v; @@ -88824,27 +84530,27 @@ var require_URL = __commonJS({ function URL2(url4) { if (!url4) return Object.create(URL2.prototype); this.url = url4.replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, ""); - var match2 = URL2.pattern.exec(this.url); - if (match2) { - if (match2[2]) this.scheme = match2[2]; - if (match2[4]) { - var userinfo = match2[4].match(URL2.userinfoPattern); + var match3 = URL2.pattern.exec(this.url); + if (match3) { + if (match3[2]) this.scheme = match3[2]; + if (match3[4]) { + var userinfo = match3[4].match(URL2.userinfoPattern); if (userinfo) { this.username = userinfo[1]; this.password = userinfo[3]; - match2[4] = match2[4].substring(userinfo[0].length); + match3[4] = match3[4].substring(userinfo[0].length); } - if (match2[4].match(URL2.portPattern)) { - var pos = match2[4].lastIndexOf(":"); - this.host = match2[4].substring(0, pos); - this.port = match2[4].substring(pos + 1); + if (match3[4].match(URL2.portPattern)) { + var pos = match3[4].lastIndexOf(":"); + this.host = match3[4].substring(0, pos); + this.port = match3[4].substring(pos + 1); } else { - this.host = match2[4]; + this.host = match3[4]; } } - if (match2[5]) this.path = match2[5]; - if (match2[6]) this.query = match2[7]; - if (match2[8]) this.fragment = match2[9]; + if (match3[5]) this.path = match3[5]; + if (match3[6]) this.query = match3[7]; + if (match3[8]) this.fragment = match3[9]; } } URL2.pattern = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; @@ -89579,7 +85285,7 @@ var require_defineElement = __commonJS({ var require_htmlelts = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/htmlelts.js"(exports) { "use strict"; - var Node = require_Node(); + var Node3 = require_Node(); var Element = require_Element(); var CSSStyleDeclaration = require_CSSStyleDeclaration(); var utils = require_utils7(); @@ -90392,7 +86098,7 @@ var require_htmlelts = __commonJS({ _numitems: { get: function() { var items = 0; this.childNodes.forEach(function(n) { - if (n.nodeType === Node.ELEMENT_NODE && n.tagName === "LI") + if (n.nodeType === Node3.ELEMENT_NODE && n.tagName === "LI") items++; }); return items; @@ -90462,7 +86168,7 @@ var require_htmlelts = __commonJS({ props: { form: { get: function() { var p = this.parentNode; - while (p && p.nodeType === Node.ELEMENT_NODE) { + while (p && p.nodeType === Node3.ELEMENT_NODE) { if (p.localName === "select") return p.form; p = p.parentNode; } @@ -90577,7 +86283,7 @@ var require_htmlelts = __commonJS({ var s = ""; for (var i = 0, n = this.childNodes.length; i < n; i++) { var child = this.childNodes[i]; - if (child.nodeType === Node.TEXT_NODE) + if (child.nodeType === Node3.TEXT_NODE) s += child._data; } return s; @@ -91285,7 +86991,7 @@ var require_Document = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/Document.js"(exports, module) { "use strict"; module.exports = Document; - var Node = require_Node(); + var Node3 = require_Node(); var NodeList = require_NodeList(); var ContainerNode = require_ContainerNode(); var Element = require_Element(); @@ -91310,7 +87016,7 @@ var require_Document = __commonJS({ var isApiWritable = require_config().isApiWritable; function Document(isHTML, address) { ContainerNode.call(this); - this.nodeType = Node.DOCUMENT_NODE; + this.nodeType = Node3.DOCUMENT_NODE; this.isHTML = isHTML; this._address = address || "about:blank"; this.readyState = "loading"; @@ -91490,7 +87196,7 @@ var require_Document = __commonJS({ if (!root2) { throw new TypeError("root argument is required"); } - if (!(root2 instanceof Node)) { + if (!(root2 instanceof Node3)) { throw new TypeError("root not a node"); } whatToShow = whatToShow === void 0 ? NodeFilter.SHOW_ALL : +whatToShow; @@ -91502,7 +87208,7 @@ var require_Document = __commonJS({ if (!root2) { throw new TypeError("root argument is required"); } - if (!(root2 instanceof Node)) { + if (!(root2 instanceof Node3)) { throw new TypeError("root not a node"); } whatToShow = whatToShow === void 0 ? NodeFilter.SHOW_ALL : +whatToShow; @@ -91533,24 +87239,24 @@ var require_Document = __commonJS({ _updateDocTypeElement: { value: function _updateDocTypeElement() { this.doctype = this.documentElement = null; for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) { - if (kid.nodeType === Node.DOCUMENT_TYPE_NODE) + if (kid.nodeType === Node3.DOCUMENT_TYPE_NODE) this.doctype = kid; - else if (kid.nodeType === Node.ELEMENT_NODE) + else if (kid.nodeType === Node3.ELEMENT_NODE) this.documentElement = kid; } } }, insertBefore: { value: function insertBefore(child, refChild) { - Node.prototype.insertBefore.call(this, child, refChild); + Node3.prototype.insertBefore.call(this, child, refChild); this._updateDocTypeElement(); return child; } }, replaceChild: { value: function replaceChild(node2, child) { - Node.prototype.replaceChild.call(this, node2, child); + Node3.prototype.replaceChild.call(this, node2, child); this._updateDocTypeElement(); return child; } }, removeChild: { value: function removeChild(child) { - Node.prototype.removeChild.call(this, child); + Node3.prototype.removeChild.call(this, child); this._updateDocTypeElement(); return child; } }, @@ -91571,8 +87277,8 @@ var require_Document = __commonJS({ getElementsByTagNameNS: { value: Element.prototype.getElementsByTagNameNS }, getElementsByClassName: { value: Element.prototype.getElementsByClassName }, adoptNode: { value: function adoptNode(node2) { - if (node2.nodeType === Node.DOCUMENT_NODE) utils.NotSupportedError(); - if (node2.nodeType === Node.ATTRIBUTE_NODE) { + if (node2.nodeType === Node3.DOCUMENT_NODE) utils.NotSupportedError(); + if (node2.nodeType === Node3.ATTRIBUTE_NODE) { return node2; } if (node2.parentNode) node2.parentNode.removeChild(node2); @@ -91733,7 +87439,7 @@ var require_Document = __commonJS({ } }, // We need to adopt the nodes if we do a deep clone cloneNode: { value: function cloneNode(deep) { - var clone3 = Node.prototype.cloneNode.call(this, false); + var clone3 = Node3.prototype.cloneNode.call(this, false); if (deep) { for (var kid = this.firstChild; kid !== null; kid = kid.nextSibling) { clone3._appendChild(clone3.importNode(kid, true)); @@ -91936,7 +87642,7 @@ var require_Document = __commonJS({ function namedHTMLChild(parent, name) { if (parent && parent.isHTML) { for (var kid = parent.firstChild; kid !== null; kid = kid.nextSibling) { - if (kid.nodeType === Node.ELEMENT_NODE && kid.localName === name && kid.namespaceURI === NAMESPACE.HTML) { + if (kid.nodeType === Node3.ELEMENT_NODE && kid.localName === name && kid.namespaceURI === NAMESPACE.HTML) { return kid; } } @@ -91946,14 +87652,14 @@ var require_Document = __commonJS({ function root(n) { n._nid = n.ownerDocument._nextnid++; n.ownerDocument._nodes[n._nid] = n; - if (n.nodeType === Node.ELEMENT_NODE) { + if (n.nodeType === Node3.ELEMENT_NODE) { var id = n.getAttribute("id"); if (id) n.ownerDocument.addId(id, n); if (n._roothook) n._roothook(); } } function uproot(n) { - if (n.nodeType === Node.ELEMENT_NODE) { + if (n.nodeType === Node3.ELEMENT_NODE) { var id = n.getAttribute("id"); if (id) n.ownerDocument.delId(id, n); } @@ -91962,7 +87668,7 @@ var require_Document = __commonJS({ } function recursivelyRoot(node2) { root(node2); - if (node2.nodeType === Node.ELEMENT_NODE) { + if (node2.nodeType === Node3.ELEMENT_NODE) { for (var kid = node2.firstChild; kid !== null; kid = kid.nextSibling) recursivelyRoot(kid); } @@ -92005,7 +87711,7 @@ var require_Document = __commonJS({ if (!this.firstNode) { var nid; for (nid in this.nodes) { - if (this.firstNode === void 0 || this.firstNode.compareDocumentPosition(this.nodes[nid]) & Node.DOCUMENT_POSITION_PRECEDING) { + if (this.firstNode === void 0 || this.firstNode.compareDocumentPosition(this.nodes[nid]) & Node3.DOCUMENT_POSITION_PRECEDING) { this.firstNode = this.nodes[nid]; } } @@ -92029,12 +87735,12 @@ var require_DocumentType = __commonJS({ "node_modules/.pnpm/@mixmark-io+domino@2.2.0/node_modules/@mixmark-io/domino/lib/DocumentType.js"(exports, module) { "use strict"; module.exports = DocumentType; - var Node = require_Node(); + var Node3 = require_Node(); var Leaf = require_Leaf(); var ChildNode = require_ChildNode(); function DocumentType(ownerDocument, name, publicId, systemId) { Leaf.call(this); - this.nodeType = Node.DOCUMENT_TYPE_NODE; + this.nodeType = Node3.DOCUMENT_TYPE_NODE; this.ownerDocument = ownerDocument || null; this.name = name; this.publicId = publicId || ""; @@ -92070,7 +87776,7 @@ var require_HTMLParser = __commonJS({ module.exports = HTMLParser; var Document = require_Document(); var DocumentType = require_DocumentType(); - var Node = require_Node(); + var Node3 = require_Node(); var NAMESPACE = require_utils7().NAMESPACE; var html = require_htmlelts(); var impl = html.elements; @@ -95352,25 +91058,25 @@ var require_HTMLParser = __commonJS({ } function getMatchingChars(pattern) { pattern.lastIndex = nextchar - 1; - var match2 = pattern.exec(chars); - if (match2 && match2.index === nextchar - 1) { - match2 = match2[0]; - nextchar += match2.length - 1; + var match3 = pattern.exec(chars); + if (match3 && match3.index === nextchar - 1) { + match3 = match3[0]; + nextchar += match3.length - 1; if (input_complete && nextchar === numchars) { - match2 = match2.slice(0, -1); + match3 = match3.slice(0, -1); nextchar--; } - return match2; + return match3; } else { throw new Error("should never happen"); } } function emitCharsWhile(pattern) { pattern.lastIndex = nextchar - 1; - var match2 = pattern.exec(chars)[0]; - if (!match2) return false; - emitCharString(match2); - nextchar += match2.length - 1; + var match3 = pattern.exec(chars)[0]; + if (!match3) return false; + emitCharString(match3); + nextchar += match3.length - 1; return true; } function emitCharString(s) { @@ -95473,7 +91179,7 @@ var require_HTMLParser = __commonJS({ parent = parent.content; } var lastChild = parent.lastChild; - if (lastChild && lastChild.nodeType === Node.TEXT_NODE) { + if (lastChild && lastChild.nodeType === Node3.TEXT_NODE) { lastChild.appendData(s); } else { parent._appendChild(parent.ownerDocument.createTextNode(s)); @@ -95556,11 +91262,11 @@ var require_HTMLParser = __commonJS({ parent = parent.content; } elt = eltFunc(parent.ownerDocument); - if (elt.nodeType === Node.TEXT_NODE) { + if (elt.nodeType === Node3.TEXT_NODE) { var prev; if (before) prev = before.previousSibling; else prev = parent.lastChild; - if (prev && prev.nodeType === Node.TEXT_NODE) { + if (prev && prev.nodeType === Node3.TEXT_NODE) { prev.appendData(elt.data); return elt; } @@ -100772,10 +96478,10 @@ var require_turndown_cjs = __commonJS({ var fenceChar = options.fence.charAt(0); var fenceSize = 3; var fenceInCodeRegex = new RegExp("^" + fenceChar + "{3,}", "gm"); - var match2; - while (match2 = fenceInCodeRegex.exec(code)) { - if (match2[0].length >= fenceSize) { - fenceSize = match2[0].length + 1; + var match3; + while (match3 = fenceInCodeRegex.exec(code)) { + if (match3[0].length >= fenceSize) { + fenceSize = match3[0].length + 1; } } var fence = repeat(fenceChar, fenceSize); @@ -101060,7 +96766,7 @@ var require_turndown_cjs = __commonJS({ function isPreOrCode(node2) { return node2.nodeName === "PRE" || node2.nodeName === "CODE"; } - function Node(node2, options) { + function Node3(node2, options) { node2.isBlock = isBlock(node2); node2.isCode = node2.nodeName === "CODE" || node2.parentNode.isCode; node2.isBlank = isBlank2(node2); @@ -101247,7 +96953,7 @@ var require_turndown_cjs = __commonJS({ function process5(parentNode) { var self2 = this; return reduce.call(parentNode.childNodes, function(output, node2) { - node2 = new Node(node2, self2.options); + node2 = new Node3(node2, self2.options); var replacement = ""; if (node2.nodeType === 3) { replacement = node2.isCode ? node2.nodeValue : self2.escape(node2.nodeValue); @@ -101630,8 +97336,8 @@ var require_semver = __commonJS({ throw new Error("invalid increment argument: identifier is empty"); } if (identifier) { - const match2 = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); - if (!match2 || match2[1] !== identifier) { + const match3 = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]); + if (!match3 || match3[1] !== identifier) { throw new Error(`invalid identifier: ${identifier}`); } } @@ -102091,28 +97797,28 @@ var require_coerce = __commonJS({ return null; } options = options || {}; - let match2 = null; + let match3 = null; if (!options.rtl) { - match2 = version3.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); + match3 = version3.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]); } else { const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]; let next2; - while ((next2 = coerceRtlRegex.exec(version3)) && (!match2 || match2.index + match2[0].length !== version3.length)) { - if (!match2 || next2.index + next2[0].length !== match2.index + match2[0].length) { - match2 = next2; + while ((next2 = coerceRtlRegex.exec(version3)) && (!match3 || match3.index + match3[0].length !== version3.length)) { + if (!match3 || next2.index + next2[0].length !== match3.index + match3[0].length) { + match3 = next2; } coerceRtlRegex.lastIndex = next2.index + next2[1].length + next2[2].length; } coerceRtlRegex.lastIndex = -1; } - if (match2 === null) { + if (match3 === null) { return null; } - const major = match2[2]; - const minor = match2[3] || "0"; - const patch = match2[4] || "0"; - const prerelease = options.includePrerelease && match2[5] ? `-${match2[5]}` : ""; - const build = options.includePrerelease && match2[6] ? `+${match2[6]}` : ""; + const major = match3[2]; + const minor = match3[3] || "0"; + const patch = match3[4] || "0"; + const prerelease = options.includePrerelease && match3[5] ? `-${match3[5]}` : ""; + const build = options.includePrerelease && match3[6] ? `+${match3[6]}` : ""; return parse5(`${major}.${minor}.${patch}${prerelease}${build}`, options); }; module.exports = coerce; @@ -104360,7 +100066,7 @@ var mergeFallbacks = (base, merged) => { }; var normalizeFallback = (fallback) => typeof fallback === "function" ? { default: fallback } : fallback ?? {}; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/config.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/config.js var configure = configureSchema; // mcp/arkConfig.ts @@ -104373,34 +100079,34 @@ configure({ // mcp/server.ts import { createServer } from "node:net"; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js init_v3(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/external.js init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/parse.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/parse.js init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/schemas.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/schemas.js init_core2(); init_util2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/checks.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/checks.js init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/external.js init_core2(); init_json_schema_processors(); init_locales(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/iso.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/iso.js init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/mini/coerce.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/mini/coerce.js init_core2(); -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js function isZ4Schema(s) { const schema2 = s; return !!schema2._zod; @@ -104463,7 +100169,7 @@ function getLiteralValue(schema2) { return void 0; } -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js var external_exports3 = {}; __export(external_exports3, { $brand: () => $brand, @@ -104705,7 +100411,7 @@ __export(external_exports3, { }); init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js var schemas_exports3 = {}; __export(schemas_exports3, { ZodAny: () => ZodAny2, @@ -104878,7 +100584,7 @@ init_core2(); init_json_schema_processors(); init_to_json_schema(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/checks.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.js var checks_exports2 = {}; __export(checks_exports2, { endsWith: () => _endsWith, @@ -104913,7 +100619,7 @@ __export(checks_exports2, { }); init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/iso.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.js var iso_exports2 = {}; __export(iso_exports2, { ZodISODate: () => ZodISODate, @@ -104955,10 +100661,10 @@ function duration2(params) { return _isoDuration(ZodISODuration, params); } -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.js init_core2(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/errors.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.js init_core2(); init_core2(); init_util2(); @@ -105001,7 +100707,7 @@ var ZodRealError = $constructor("ZodError", initializer2, { Parent: Error }); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/parse.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.js var parse2 = /* @__PURE__ */ _parse(ZodRealError); var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError); var safeParse3 = /* @__PURE__ */ _safeParse(ZodRealError); @@ -105015,7 +100721,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError); var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError); var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/schemas.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js var ZodType2 = /* @__PURE__ */ $constructor("ZodType", (inst, def) => { $ZodType.init(inst, def); Object.assign(inst["~standard"], { @@ -106094,7 +101800,7 @@ function preprocess(fn2, schema2) { return pipe(transform(fn2), schema2); } -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/compat.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.js init_core2(); init_core2(); var ZodIssueCode2 = { @@ -106122,13 +101828,13 @@ var ZodFirstPartyTypeKind2; /* @__PURE__ */ (function(ZodFirstPartyTypeKind3) { })(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {})); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js init_core2(); init_en2(); init_core2(); init_json_schema_processors(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/from-json-schema.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js init_registries(); var z = { ...schemas_exports3, @@ -106603,10 +102309,10 @@ function fromJSONSchema(schema2, params) { return convertSchema(schema2, ctx); } -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js init_locales(); -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/coerce.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.js var coerce_exports2 = {}; __export(coerce_exports2, { bigint: () => bigint3, @@ -106632,10 +102338,10 @@ function date4(params) { return _coercedDate(ZodDate2, params); } -// node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/classic/external.js +// node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.js config(en_default2()); -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js var LATEST_PROTOCOL_VERSION = "2025-11-25"; var SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"]; var RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task"; @@ -108141,12 +103847,12 @@ var UrlElicitationRequiredError = class extends McpError { } }; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js function isTerminal(status) { return status === "completed" || status === "failed" || status === "cancelled"; } -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js init_esm(); function getMethodLiteral(schema2) { const shape = getObjectShape(schema2); @@ -108168,7 +103874,7 @@ function parseWithCompat(schema2, data) { return result.data; } -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js var DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4; var Protocol = class { constructor(_options) { @@ -108345,6 +104051,9 @@ var Protocol = class { * The Protocol object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward. */ async connect(transport) { + if (this._transport) { + throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection."); + } this._transport = transport; const _onclose = this.transport?.onclose; this._transport.onclose = () => { @@ -108377,6 +104086,10 @@ var Protocol = class { this._progressHandlers.clear(); this._taskProgressTokens.clear(); this._pendingDebouncedNotifications.clear(); + for (const controller of this._requestHandlerAbortControllers.values()) { + controller.abort(); + } + this._requestHandlerAbortControllers.clear(); const error49 = McpError.fromError(ErrorCode.ConnectionClosed, "Connection closed"); this._transport = void 0; this.onclose?.(); @@ -108427,6 +104140,8 @@ var Protocol = class { sessionId: capturedTransport?.sessionId, _meta: request2.params?._meta, sendNotification: async (notification) => { + if (abortController.signal.aborted) + return; const notificationOptions = { relatedRequestId: request2.id }; if (relatedTaskId) { notificationOptions.relatedTask = { taskId: relatedTaskId }; @@ -108434,6 +104149,9 @@ var Protocol = class { await this.notification(notification, notificationOptions); }, sendRequest: async (r, resultSchema, options) => { + if (abortController.signal.aborted) { + throw new McpError(ErrorCode.ConnectionClosed, "Request was cancelled"); + } const requestOptions = { ...options, relatedRequestId: request2.id }; if (relatedTaskId && !requestOptions.relatedTask) { requestOptions.relatedTask = { taskId: relatedTaskId }; @@ -109104,7 +104822,7 @@ function mergeCapabilities(base, additional) { return result; } -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js var import_ajv = __toESM(require_ajv(), 1); var import_ajv_formats = __toESM(require_dist(), 1); function createDefaultAjvInstance() { @@ -109172,7 +104890,7 @@ var AjvJsonSchemaValidator = class { } }; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js var ExperimentalServerTasks = class { constructor(_server) { this._server = _server; @@ -109194,6 +104912,147 @@ var ExperimentalServerTasks = class { requestStream(request2, resultSchema, options) { return this._server.requestStream(request2, resultSchema, options); } + /** + * Sends a sampling request and returns an AsyncGenerator that yields response messages. + * The generator is guaranteed to end with either a 'result' or 'error' message. + * + * For task-augmented requests, yields 'taskCreated' and 'taskStatus' messages + * before the final result. + * + * @example + * ```typescript + * const stream = server.experimental.tasks.createMessageStream({ + * messages: [{ role: 'user', content: { type: 'text', text: 'Hello' } }], + * maxTokens: 100 + * }, { + * onprogress: (progress) => { + * // Handle streaming tokens via progress notifications + * console.log('Progress:', progress.message); + * } + * }); + * + * for await (const message of stream) { + * switch (message.type) { + * case 'taskCreated': + * console.log('Task created:', message.task.taskId); + * break; + * case 'taskStatus': + * console.log('Task status:', message.task.status); + * break; + * case 'result': + * console.log('Final result:', message.result); + * break; + * case 'error': + * console.error('Error:', message.error); + * break; + * } + * } + * ``` + * + * @param params - The sampling request parameters + * @param options - Optional request options (timeout, signal, task creation params, onprogress, etc.) + * @returns AsyncGenerator that yields ResponseMessage objects + * + * @experimental + */ + createMessageStream(params, options) { + const clientCapabilities = this._server.getClientCapabilities(); + if ((params.tools || params.toolChoice) && !clientCapabilities?.sampling?.tools) { + throw new Error("Client does not support sampling tools capability."); + } + if (params.messages.length > 0) { + const lastMessage = params.messages[params.messages.length - 1]; + const lastContent = Array.isArray(lastMessage.content) ? lastMessage.content : [lastMessage.content]; + const hasToolResults = lastContent.some((c) => c.type === "tool_result"); + const previousMessage = params.messages.length > 1 ? params.messages[params.messages.length - 2] : void 0; + const previousContent = previousMessage ? Array.isArray(previousMessage.content) ? previousMessage.content : [previousMessage.content] : []; + const hasPreviousToolUse = previousContent.some((c) => c.type === "tool_use"); + if (hasToolResults) { + if (lastContent.some((c) => c.type !== "tool_result")) { + throw new Error("The last message must contain only tool_result content if any is present"); + } + if (!hasPreviousToolUse) { + throw new Error("tool_result blocks are not matching any tool_use from the previous message"); + } + } + if (hasPreviousToolUse) { + const toolUseIds = new Set(previousContent.filter((c) => c.type === "tool_use").map((c) => c.id)); + const toolResultIds = new Set(lastContent.filter((c) => c.type === "tool_result").map((c) => c.toolUseId)); + if (toolUseIds.size !== toolResultIds.size || ![...toolUseIds].every((id) => toolResultIds.has(id))) { + throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match"); + } + } + } + return this.requestStream({ + method: "sampling/createMessage", + params + }, CreateMessageResultSchema, options); + } + /** + * Sends an elicitation request and returns an AsyncGenerator that yields response messages. + * The generator is guaranteed to end with either a 'result' or 'error' message. + * + * For task-augmented requests (especially URL-based elicitation), yields 'taskCreated' + * and 'taskStatus' messages before the final result. + * + * @example + * ```typescript + * const stream = server.experimental.tasks.elicitInputStream({ + * mode: 'url', + * message: 'Please authenticate', + * elicitationId: 'auth-123', + * url: 'https://example.com/auth' + * }, { + * task: { ttl: 300000 } // Task-augmented for long-running auth flow + * }); + * + * for await (const message of stream) { + * switch (message.type) { + * case 'taskCreated': + * console.log('Task created:', message.task.taskId); + * break; + * case 'taskStatus': + * console.log('Task status:', message.task.status); + * break; + * case 'result': + * console.log('User action:', message.result.action); + * break; + * case 'error': + * console.error('Error:', message.error); + * break; + * } + * } + * ``` + * + * @param params - The elicitation request parameters + * @param options - Optional request options (timeout, signal, task creation params, etc.) + * @returns AsyncGenerator that yields ResponseMessage objects + * + * @experimental + */ + elicitInputStream(params, options) { + const clientCapabilities = this._server.getClientCapabilities(); + const mode = params.mode ?? "form"; + switch (mode) { + case "url": { + if (!clientCapabilities?.elicitation?.url) { + throw new Error("Client does not support url elicitation."); + } + break; + } + case "form": { + if (!clientCapabilities?.elicitation?.form) { + throw new Error("Client does not support form elicitation."); + } + break; + } + } + const normalizedParams = mode === "form" && params.mode === void 0 ? { ...params, mode: "form" } : params; + return this.requestStream({ + method: "elicitation/create", + params: normalizedParams + }, ElicitResultSchema, options); + } /** * Gets the current status of a task. * @@ -109244,7 +105103,7 @@ var ExperimentalServerTasks = class { } }; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js function assertToolsCallTaskCapability(requests, method, entityName) { if (!requests) { throw new Error(`${entityName} does not support task creation (required for ${method})`); @@ -109279,7 +105138,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) { } } -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js var Server = class extends Protocol { /** * Initializes this server with the given name and version information. @@ -109659,10 +105518,10 @@ var Server = class extends Protocol { } }; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js import process3 from "node:process"; -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js var ReadBuffer = class { append(chunk) { this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk; @@ -109690,7 +105549,7 @@ function serializeMessage(message) { return JSON.stringify(message) + "\n"; } -// node_modules/.pnpm/@modelcontextprotocol+sdk@1.25.2_hono@4.11.3_zod@4.3.5/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +// node_modules/.pnpm/@modelcontextprotocol+sdk@1.27.1_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js var StdioServerTransport = class { constructor(_stdin = process3.stdin, _stdout = process3.stdout) { this._stdin = _stdin; @@ -109751,7 +105610,7 @@ var StdioServerTransport = class { } }; -// node_modules/.pnpm/fastmcp@3.26.8_arktype@2.1.29_hono@4.11.3/node_modules/fastmcp/dist/FastMCP.js +// node_modules/.pnpm/fastmcp@3.34.0_arktype@2.2.0/node_modules/fastmcp/dist/chunk-DMSZ2FEE.js import { EventEmitter } from "events"; // node_modules/.pnpm/fuse.js@7.1.0/node_modules/fuse.js/dist/fuse.mjs @@ -110128,10 +105987,10 @@ function convertMaskToIndices(matchmask = [], minMatchCharLength = Config.minMat let end = -1; let i = 0; for (let len = matchmask.length; i < len; i += 1) { - let match2 = matchmask[i]; - if (match2 && start === -1) { + let match3 = matchmask[i]; + if (match3 && start === -1) { start = i; - } else if (!match2 && start !== -1) { + } else if (!match3 && start !== -1) { end = i - 1; if (end - start + 1 >= minMatchCharLength) { indices.push([start, end]); @@ -110822,20 +106681,20 @@ function transformMatches(result, data) { if (!isDefined(matches)) { return; } - matches.forEach((match2) => { - if (!isDefined(match2.indices) || !match2.indices.length) { + matches.forEach((match3) => { + if (!isDefined(match3.indices) || !match3.indices.length) { return; } - const { indices, value: value2 } = match2; + const { indices, value: value2 } = match3; let obj = { indices, value: value2 }; - if (match2.key) { - obj.key = match2.key.src; + if (match3.key) { + obj.key = match3.key.src; } - if (match2.idx > -1) { - obj.refIndex = match2.idx; + if (match3.idx > -1) { + obj.refIndex = match3.idx; } data.matches.push(obj); }); @@ -111073,11 +106932,2063 @@ Fuse.config = Config; register2(ExtendedSearch); } -// node_modules/.pnpm/mcp-proxy@5.12.5/node_modules/mcp-proxy/dist/stdio-DBuYn6eo.mjs +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/compose.js +var compose = (middleware, onError, onNotFound) => { + return (context, next2) => { + let index = -1; + return dispatch(0); + async function dispatch(i) { + if (i <= index) { + throw new Error("next() called multiple times"); + } + index = i; + let res; + let isError = false; + let handler2; + if (middleware[i]) { + handler2 = middleware[i][0][0]; + context.req.routeIndex = i; + } else { + handler2 = i === middleware.length && next2 || void 0; + } + if (handler2) { + try { + res = await handler2(context, () => dispatch(i + 1)); + } catch (err) { + if (err instanceof Error && onError) { + context.error = err; + res = await onError(err, context); + isError = true; + } else { + throw err; + } + } + } else { + if (context.finalized === false && onNotFound) { + res = await onNotFound(context); + } + } + if (res && (context.finalized === false || isError)) { + context.res = res; + } + return context; + } + }; +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/request/constants.js +var GET_MATCH_RESULT = /* @__PURE__ */ Symbol(); + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/utils/body.js +var parseBody = async (request2, options = /* @__PURE__ */ Object.create(null)) => { + const { all = false, dot = false } = options; + const headers = request2 instanceof HonoRequest ? request2.raw.headers : request2.headers; + const contentType = headers.get("Content-Type"); + if (contentType?.startsWith("multipart/form-data") || contentType?.startsWith("application/x-www-form-urlencoded")) { + return parseFormData(request2, { all, dot }); + } + return {}; +}; +async function parseFormData(request2, options) { + const formData = await request2.formData(); + if (formData) { + return convertFormDataToBodyData(formData, options); + } + return {}; +} +function convertFormDataToBodyData(formData, options) { + const form = /* @__PURE__ */ Object.create(null); + formData.forEach((value2, key) => { + const shouldParseAllValues = options.all || key.endsWith("[]"); + if (!shouldParseAllValues) { + form[key] = value2; + } else { + handleParsingAllValues(form, key, value2); + } + }); + if (options.dot) { + Object.entries(form).forEach(([key, value2]) => { + const shouldParseDotValues = key.includes("."); + if (shouldParseDotValues) { + handleParsingNestedValues(form, key, value2); + delete form[key]; + } + }); + } + return form; +} +var handleParsingAllValues = (form, key, value2) => { + if (form[key] !== void 0) { + if (Array.isArray(form[key])) { + ; + form[key].push(value2); + } else { + form[key] = [form[key], value2]; + } + } else { + if (!key.endsWith("[]")) { + form[key] = value2; + } else { + form[key] = [value2]; + } + } +}; +var handleParsingNestedValues = (form, key, value2) => { + let nestedForm = form; + const keys = key.split("."); + keys.forEach((key2, index) => { + if (index === keys.length - 1) { + nestedForm[key2] = value2; + } else { + if (!nestedForm[key2] || typeof nestedForm[key2] !== "object" || Array.isArray(nestedForm[key2]) || nestedForm[key2] instanceof File) { + nestedForm[key2] = /* @__PURE__ */ Object.create(null); + } + nestedForm = nestedForm[key2]; + } + }); +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/utils/url.js +var splitPath = (path3) => { + const paths = path3.split("/"); + if (paths[0] === "") { + paths.shift(); + } + return paths; +}; +var splitRoutingPath = (routePath) => { + const { groups: groups2, path: path3 } = extractGroupsFromPath(routePath); + const paths = splitPath(path3); + return replaceGroupMarks(paths, groups2); +}; +var extractGroupsFromPath = (path3) => { + const groups2 = []; + path3 = path3.replace(/\{[^}]+\}/g, (match3, index) => { + const mark = `@${index}`; + groups2.push([mark, match3]); + return mark; + }); + return { groups: groups2, path: path3 }; +}; +var replaceGroupMarks = (paths, groups2) => { + for (let i = groups2.length - 1; i >= 0; i--) { + const [mark] = groups2[i]; + for (let j = paths.length - 1; j >= 0; j--) { + if (paths[j].includes(mark)) { + paths[j] = paths[j].replace(mark, groups2[i][1]); + break; + } + } + } + return paths; +}; +var patternCache = {}; +var getPattern = (label, next2) => { + if (label === "*") { + return "*"; + } + const match3 = label.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/); + if (match3) { + const cacheKey = `${label}#${next2}`; + if (!patternCache[cacheKey]) { + if (match3[2]) { + patternCache[cacheKey] = next2 && next2[0] !== ":" && next2[0] !== "*" ? [cacheKey, match3[1], new RegExp(`^${match3[2]}(?=/${next2})`)] : [label, match3[1], new RegExp(`^${match3[2]}$`)]; + } else { + patternCache[cacheKey] = [label, match3[1], true]; + } + } + return patternCache[cacheKey]; + } + return null; +}; +var tryDecode = (str, decoder) => { + try { + return decoder(str); + } catch { + return str.replace(/(?:%[0-9A-Fa-f]{2})+/g, (match3) => { + try { + return decoder(match3); + } catch { + return match3; + } + }); + } +}; +var tryDecodeURI = (str) => tryDecode(str, decodeURI); +var getPath = (request2) => { + const url4 = request2.url; + const start = url4.indexOf("/", url4.indexOf(":") + 4); + let i = start; + for (; i < url4.length; i++) { + const charCode = url4.charCodeAt(i); + if (charCode === 37) { + const queryIndex = url4.indexOf("?", i); + const hashIndex = url4.indexOf("#", i); + const end = queryIndex === -1 ? hashIndex === -1 ? void 0 : hashIndex : hashIndex === -1 ? queryIndex : Math.min(queryIndex, hashIndex); + const path3 = url4.slice(start, end); + return tryDecodeURI(path3.includes("%25") ? path3.replace(/%25/g, "%2525") : path3); + } else if (charCode === 63 || charCode === 35) { + break; + } + } + return url4.slice(start, i); +}; +var getPathNoStrict = (request2) => { + const result = getPath(request2); + return result.length > 1 && result.at(-1) === "/" ? result.slice(0, -1) : result; +}; +var mergePath = (base, sub, ...rest) => { + if (rest.length) { + sub = mergePath(sub, ...rest); + } + return `${base?.[0] === "/" ? "" : "/"}${base}${sub === "/" ? "" : `${base?.at(-1) === "/" ? "" : "/"}${sub?.[0] === "/" ? sub.slice(1) : sub}`}`; +}; +var checkOptionalParameter = (path3) => { + if (path3.charCodeAt(path3.length - 1) !== 63 || !path3.includes(":")) { + return null; + } + const segments = path3.split("/"); + const results = []; + let basePath = ""; + segments.forEach((segment) => { + if (segment !== "" && !/\:/.test(segment)) { + basePath += "/" + segment; + } else if (/\:/.test(segment)) { + if (/\?/.test(segment)) { + if (results.length === 0 && basePath === "") { + results.push("/"); + } else { + results.push(basePath); + } + const optionalSegment = segment.replace("?", ""); + basePath += "/" + optionalSegment; + results.push(basePath); + } else { + basePath += "/" + segment; + } + } + }); + return results.filter((v, i, a) => a.indexOf(v) === i); +}; +var _decodeURI = (value2) => { + if (!/[%+]/.test(value2)) { + return value2; + } + if (value2.indexOf("+") !== -1) { + value2 = value2.replace(/\+/g, " "); + } + return value2.indexOf("%") !== -1 ? tryDecode(value2, decodeURIComponent_) : value2; +}; +var _getQueryParam = (url4, key, multiple) => { + let encoded; + if (!multiple && key && !/[%+]/.test(key)) { + let keyIndex2 = url4.indexOf("?", 8); + if (keyIndex2 === -1) { + return void 0; + } + if (!url4.startsWith(key, keyIndex2 + 1)) { + keyIndex2 = url4.indexOf(`&${key}`, keyIndex2 + 1); + } + while (keyIndex2 !== -1) { + const trailingKeyCode = url4.charCodeAt(keyIndex2 + key.length + 1); + if (trailingKeyCode === 61) { + const valueIndex = keyIndex2 + key.length + 2; + const endIndex = url4.indexOf("&", valueIndex); + return _decodeURI(url4.slice(valueIndex, endIndex === -1 ? void 0 : endIndex)); + } else if (trailingKeyCode == 38 || isNaN(trailingKeyCode)) { + return ""; + } + keyIndex2 = url4.indexOf(`&${key}`, keyIndex2 + 1); + } + encoded = /[%+]/.test(url4); + if (!encoded) { + return void 0; + } + } + const results = {}; + encoded ??= /[%+]/.test(url4); + let keyIndex = url4.indexOf("?", 8); + while (keyIndex !== -1) { + const nextKeyIndex = url4.indexOf("&", keyIndex + 1); + let valueIndex = url4.indexOf("=", keyIndex); + if (valueIndex > nextKeyIndex && nextKeyIndex !== -1) { + valueIndex = -1; + } + let name = url4.slice( + keyIndex + 1, + valueIndex === -1 ? nextKeyIndex === -1 ? void 0 : nextKeyIndex : valueIndex + ); + if (encoded) { + name = _decodeURI(name); + } + keyIndex = nextKeyIndex; + if (name === "") { + continue; + } + let value2; + if (valueIndex === -1) { + value2 = ""; + } else { + value2 = url4.slice(valueIndex + 1, nextKeyIndex === -1 ? void 0 : nextKeyIndex); + if (encoded) { + value2 = _decodeURI(value2); + } + } + if (multiple) { + if (!(results[name] && Array.isArray(results[name]))) { + results[name] = []; + } + ; + results[name].push(value2); + } else { + results[name] ??= value2; + } + } + return key ? results[key] : results; +}; +var getQueryParam = _getQueryParam; +var getQueryParams = (url4, key) => { + return _getQueryParam(url4, key, true); +}; +var decodeURIComponent_ = decodeURIComponent; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/request.js +var tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_); +var HonoRequest = class { + /** + * `.raw` can get the raw Request object. + * + * @see {@link https://hono.dev/docs/api/request#raw} + * + * @example + * ```ts + * // For Cloudflare Workers + * app.post('/', async (c) => { + * const metadata = c.req.raw.cf?.hostMetadata? + * ... + * }) + * ``` + */ + raw; + #validatedData; + // Short name of validatedData + #matchResult; + routeIndex = 0; + /** + * `.path` can get the pathname of the request. + * + * @see {@link https://hono.dev/docs/api/request#path} + * + * @example + * ```ts + * app.get('/about/me', (c) => { + * const pathname = c.req.path // `/about/me` + * }) + * ``` + */ + path; + bodyCache = {}; + constructor(request2, path3 = "/", matchResult = [[]]) { + this.raw = request2; + this.path = path3; + this.#matchResult = matchResult; + this.#validatedData = {}; + } + param(key) { + return key ? this.#getDecodedParam(key) : this.#getAllDecodedParams(); + } + #getDecodedParam(key) { + const paramKey = this.#matchResult[0][this.routeIndex][1][key]; + const param = this.#getParamValue(paramKey); + return param && /\%/.test(param) ? tryDecodeURIComponent(param) : param; + } + #getAllDecodedParams() { + const decoded = {}; + const keys = Object.keys(this.#matchResult[0][this.routeIndex][1]); + for (const key of keys) { + const value2 = this.#getParamValue(this.#matchResult[0][this.routeIndex][1][key]); + if (value2 !== void 0) { + decoded[key] = /\%/.test(value2) ? tryDecodeURIComponent(value2) : value2; + } + } + return decoded; + } + #getParamValue(paramKey) { + return this.#matchResult[1] ? this.#matchResult[1][paramKey] : paramKey; + } + query(key) { + return getQueryParam(this.url, key); + } + queries(key) { + return getQueryParams(this.url, key); + } + header(name) { + if (name) { + return this.raw.headers.get(name) ?? void 0; + } + const headerData = {}; + this.raw.headers.forEach((value2, key) => { + headerData[key] = value2; + }); + return headerData; + } + async parseBody(options) { + return this.bodyCache.parsedBody ??= await parseBody(this, options); + } + #cachedBody = (key) => { + const { bodyCache, raw: raw2 } = this; + const cachedBody = bodyCache[key]; + if (cachedBody) { + return cachedBody; + } + const anyCachedKey = Object.keys(bodyCache)[0]; + if (anyCachedKey) { + return bodyCache[anyCachedKey].then((body) => { + if (anyCachedKey === "json") { + body = JSON.stringify(body); + } + return new Response(body)[key](); + }); + } + return bodyCache[key] = raw2[key](); + }; + /** + * `.json()` can parse Request body of type `application/json` + * + * @see {@link https://hono.dev/docs/api/request#json} + * + * @example + * ```ts + * app.post('/entry', async (c) => { + * const body = await c.req.json() + * }) + * ``` + */ + json() { + return this.#cachedBody("text").then((text) => JSON.parse(text)); + } + /** + * `.text()` can parse Request body of type `text/plain` + * + * @see {@link https://hono.dev/docs/api/request#text} + * + * @example + * ```ts + * app.post('/entry', async (c) => { + * const body = await c.req.text() + * }) + * ``` + */ + text() { + return this.#cachedBody("text"); + } + /** + * `.arrayBuffer()` parse Request body as an `ArrayBuffer` + * + * @see {@link https://hono.dev/docs/api/request#arraybuffer} + * + * @example + * ```ts + * app.post('/entry', async (c) => { + * const body = await c.req.arrayBuffer() + * }) + * ``` + */ + arrayBuffer() { + return this.#cachedBody("arrayBuffer"); + } + /** + * Parses the request body as a `Blob`. + * @example + * ```ts + * app.post('/entry', async (c) => { + * const body = await c.req.blob(); + * }); + * ``` + * @see https://hono.dev/docs/api/request#blob + */ + blob() { + return this.#cachedBody("blob"); + } + /** + * Parses the request body as `FormData`. + * @example + * ```ts + * app.post('/entry', async (c) => { + * const body = await c.req.formData(); + * }); + * ``` + * @see https://hono.dev/docs/api/request#formdata + */ + formData() { + return this.#cachedBody("formData"); + } + /** + * Adds validated data to the request. + * + * @param target - The target of the validation. + * @param data - The validated data to add. + */ + addValidatedData(target, data) { + this.#validatedData[target] = data; + } + valid(target) { + return this.#validatedData[target]; + } + /** + * `.url()` can get the request url strings. + * + * @see {@link https://hono.dev/docs/api/request#url} + * + * @example + * ```ts + * app.get('/about/me', (c) => { + * const url = c.req.url // `http://localhost:8787/about/me` + * ... + * }) + * ``` + */ + get url() { + return this.raw.url; + } + /** + * `.method()` can get the method name of the request. + * + * @see {@link https://hono.dev/docs/api/request#method} + * + * @example + * ```ts + * app.get('/about/me', (c) => { + * const method = c.req.method // `GET` + * }) + * ``` + */ + get method() { + return this.raw.method; + } + get [GET_MATCH_RESULT]() { + return this.#matchResult; + } + /** + * `.matchedRoutes()` can return a matched route in the handler + * + * @deprecated + * + * Use matchedRoutes helper defined in "hono/route" instead. + * + * @see {@link https://hono.dev/docs/api/request#matchedroutes} + * + * @example + * ```ts + * app.use('*', async function logger(c, next) { + * await next() + * c.req.matchedRoutes.forEach(({ handler, method, path }, i) => { + * const name = handler.name || (handler.length < 2 ? '[handler]' : '[middleware]') + * console.log( + * method, + * ' ', + * path, + * ' '.repeat(Math.max(10 - path.length, 0)), + * name, + * i === c.req.routeIndex ? '<- respond from here' : '' + * ) + * }) + * }) + * ``` + */ + get matchedRoutes() { + return this.#matchResult[0].map(([[, route]]) => route); + } + /** + * `routePath()` can retrieve the path registered within the handler + * + * @deprecated + * + * Use routePath helper defined in "hono/route" instead. + * + * @see {@link https://hono.dev/docs/api/request#routepath} + * + * @example + * ```ts + * app.get('/posts/:id', (c) => { + * return c.json({ path: c.req.routePath }) + * }) + * ``` + */ + get routePath() { + return this.#matchResult[0].map(([[, route]]) => route)[this.routeIndex].path; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/utils/html.js +var HtmlEscapedCallbackPhase = { + Stringify: 1, + BeforeStream: 2, + Stream: 3 +}; +var raw = (value2, callbacks) => { + const escapedString = new String(value2); + escapedString.isEscaped = true; + escapedString.callbacks = callbacks; + return escapedString; +}; +var resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => { + if (typeof str === "object" && !(str instanceof String)) { + if (!(str instanceof Promise)) { + str = str.toString(); + } + if (str instanceof Promise) { + str = await str; + } + } + const callbacks = str.callbacks; + if (!callbacks?.length) { + return Promise.resolve(str); + } + if (buffer) { + buffer[0] += str; + } else { + buffer = [str]; + } + const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then( + (res) => Promise.all( + res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer)) + ).then(() => buffer[0]) + ); + if (preserveCallbacks) { + return raw(await resStr, callbacks); + } else { + return resStr; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/context.js +var TEXT_PLAIN = "text/plain; charset=UTF-8"; +var setDefaultContentType = (contentType, headers) => { + return { + "Content-Type": contentType, + ...headers + }; +}; +var createResponseInstance = (body, init) => new Response(body, init); +var Context = class { + #rawRequest; + #req; + /** + * `.env` can get bindings (environment variables, secrets, KV namespaces, D1 database, R2 bucket etc.) in Cloudflare Workers. + * + * @see {@link https://hono.dev/docs/api/context#env} + * + * @example + * ```ts + * // Environment object for Cloudflare Workers + * app.get('*', async c => { + * const counter = c.env.COUNTER + * }) + * ``` + */ + env = {}; + #var; + finalized = false; + /** + * `.error` can get the error object from the middleware if the Handler throws an error. + * + * @see {@link https://hono.dev/docs/api/context#error} + * + * @example + * ```ts + * app.use('*', async (c, next) => { + * await next() + * if (c.error) { + * // do something... + * } + * }) + * ``` + */ + error; + #status; + #executionCtx; + #res; + #layout; + #renderer; + #notFoundHandler; + #preparedHeaders; + #matchResult; + #path; + /** + * Creates an instance of the Context class. + * + * @param req - The Request object. + * @param options - Optional configuration options for the context. + */ + constructor(req, options) { + this.#rawRequest = req; + if (options) { + this.#executionCtx = options.executionCtx; + this.env = options.env; + this.#notFoundHandler = options.notFoundHandler; + this.#path = options.path; + this.#matchResult = options.matchResult; + } + } + /** + * `.req` is the instance of {@link HonoRequest}. + */ + get req() { + this.#req ??= new HonoRequest(this.#rawRequest, this.#path, this.#matchResult); + return this.#req; + } + /** + * @see {@link https://hono.dev/docs/api/context#event} + * The FetchEvent associated with the current request. + * + * @throws Will throw an error if the context does not have a FetchEvent. + */ + get event() { + if (this.#executionCtx && "respondWith" in this.#executionCtx) { + return this.#executionCtx; + } else { + throw Error("This context has no FetchEvent"); + } + } + /** + * @see {@link https://hono.dev/docs/api/context#executionctx} + * The ExecutionContext associated with the current request. + * + * @throws Will throw an error if the context does not have an ExecutionContext. + */ + get executionCtx() { + if (this.#executionCtx) { + return this.#executionCtx; + } else { + throw Error("This context has no ExecutionContext"); + } + } + /** + * @see {@link https://hono.dev/docs/api/context#res} + * The Response object for the current request. + */ + get res() { + return this.#res ||= createResponseInstance(null, { + headers: this.#preparedHeaders ??= new Headers() + }); + } + /** + * Sets the Response object for the current request. + * + * @param _res - The Response object to set. + */ + set res(_res) { + if (this.#res && _res) { + _res = createResponseInstance(_res.body, _res); + for (const [k, v] of this.#res.headers.entries()) { + if (k === "content-type") { + continue; + } + if (k === "set-cookie") { + const cookies = this.#res.headers.getSetCookie(); + _res.headers.delete("set-cookie"); + for (const cookie of cookies) { + _res.headers.append("set-cookie", cookie); + } + } else { + _res.headers.set(k, v); + } + } + } + this.#res = _res; + this.finalized = true; + } + /** + * `.render()` can create a response within a layout. + * + * @see {@link https://hono.dev/docs/api/context#render-setrenderer} + * + * @example + * ```ts + * app.get('/', (c) => { + * return c.render('Hello!') + * }) + * ``` + */ + render = (...args2) => { + this.#renderer ??= (content) => this.html(content); + return this.#renderer(...args2); + }; + /** + * Sets the layout for the response. + * + * @param layout - The layout to set. + * @returns The layout function. + */ + setLayout = (layout) => this.#layout = layout; + /** + * Gets the current layout for the response. + * + * @returns The current layout function. + */ + getLayout = () => this.#layout; + /** + * `.setRenderer()` can set the layout in the custom middleware. + * + * @see {@link https://hono.dev/docs/api/context#render-setrenderer} + * + * @example + * ```tsx + * app.use('*', async (c, next) => { + * c.setRenderer((content) => { + * return c.html( + * + * + *

{content}

+ * + * + * ) + * }) + * await next() + * }) + * ``` + */ + setRenderer = (renderer) => { + this.#renderer = renderer; + }; + /** + * `.header()` can set headers. + * + * @see {@link https://hono.dev/docs/api/context#header} + * + * @example + * ```ts + * app.get('/welcome', (c) => { + * // Set headers + * c.header('X-Message', 'Hello!') + * c.header('Content-Type', 'text/plain') + * + * return c.body('Thank you for coming') + * }) + * ``` + */ + header = (name, value2, options) => { + if (this.finalized) { + this.#res = createResponseInstance(this.#res.body, this.#res); + } + const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers(); + if (value2 === void 0) { + headers.delete(name); + } else if (options?.append) { + headers.append(name, value2); + } else { + headers.set(name, value2); + } + }; + status = (status) => { + this.#status = status; + }; + /** + * `.set()` can set the value specified by the key. + * + * @see {@link https://hono.dev/docs/api/context#set-get} + * + * @example + * ```ts + * app.use('*', async (c, next) => { + * c.set('message', 'Hono is hot!!') + * await next() + * }) + * ``` + */ + set = (key, value2) => { + this.#var ??= /* @__PURE__ */ new Map(); + this.#var.set(key, value2); + }; + /** + * `.get()` can use the value specified by the key. + * + * @see {@link https://hono.dev/docs/api/context#set-get} + * + * @example + * ```ts + * app.get('/', (c) => { + * const message = c.get('message') + * return c.text(`The message is "${message}"`) + * }) + * ``` + */ + get = (key) => { + return this.#var ? this.#var.get(key) : void 0; + }; + /** + * `.var` can access the value of a variable. + * + * @see {@link https://hono.dev/docs/api/context#var} + * + * @example + * ```ts + * const result = c.var.client.oneMethod() + * ``` + */ + // c.var.propName is a read-only + get var() { + if (!this.#var) { + return {}; + } + return Object.fromEntries(this.#var); + } + #newResponse(data, arg, headers) { + const responseHeaders = this.#res ? new Headers(this.#res.headers) : this.#preparedHeaders ?? new Headers(); + if (typeof arg === "object" && "headers" in arg) { + const argHeaders = arg.headers instanceof Headers ? arg.headers : new Headers(arg.headers); + for (const [key, value2] of argHeaders) { + if (key.toLowerCase() === "set-cookie") { + responseHeaders.append(key, value2); + } else { + responseHeaders.set(key, value2); + } + } + } + if (headers) { + for (const [k, v] of Object.entries(headers)) { + if (typeof v === "string") { + responseHeaders.set(k, v); + } else { + responseHeaders.delete(k); + for (const v2 of v) { + responseHeaders.append(k, v2); + } + } + } + } + const status = typeof arg === "number" ? arg : arg?.status ?? this.#status; + return createResponseInstance(data, { status, headers: responseHeaders }); + } + newResponse = (...args2) => this.#newResponse(...args2); + /** + * `.body()` can return the HTTP response. + * You can set headers with `.header()` and set HTTP status code with `.status`. + * This can also be set in `.text()`, `.json()` and so on. + * + * @see {@link https://hono.dev/docs/api/context#body} + * + * @example + * ```ts + * app.get('/welcome', (c) => { + * // Set headers + * c.header('X-Message', 'Hello!') + * c.header('Content-Type', 'text/plain') + * // Set HTTP status code + * c.status(201) + * + * // Return the response body + * return c.body('Thank you for coming') + * }) + * ``` + */ + body = (data, arg, headers) => this.#newResponse(data, arg, headers); + /** + * `.text()` can render text as `Content-Type:text/plain`. + * + * @see {@link https://hono.dev/docs/api/context#text} + * + * @example + * ```ts + * app.get('/say', (c) => { + * return c.text('Hello!') + * }) + * ``` + */ + text = (text, arg, headers) => { + return !this.#preparedHeaders && !this.#status && !arg && !headers && !this.finalized ? new Response(text) : this.#newResponse( + text, + arg, + setDefaultContentType(TEXT_PLAIN, headers) + ); + }; + /** + * `.json()` can render JSON as `Content-Type:application/json`. + * + * @see {@link https://hono.dev/docs/api/context#json} + * + * @example + * ```ts + * app.get('/api', (c) => { + * return c.json({ message: 'Hello!' }) + * }) + * ``` + */ + json = (object5, arg, headers) => { + return this.#newResponse( + JSON.stringify(object5), + arg, + setDefaultContentType("application/json", headers) + ); + }; + html = (html, arg, headers) => { + const res = (html2) => this.#newResponse(html2, arg, setDefaultContentType("text/html; charset=UTF-8", headers)); + return typeof html === "object" ? resolveCallback(html, HtmlEscapedCallbackPhase.Stringify, false, {}).then(res) : res(html); + }; + /** + * `.redirect()` can Redirect, default status code is 302. + * + * @see {@link https://hono.dev/docs/api/context#redirect} + * + * @example + * ```ts + * app.get('/redirect', (c) => { + * return c.redirect('/') + * }) + * app.get('/redirect-permanently', (c) => { + * return c.redirect('/', 301) + * }) + * ``` + */ + redirect = (location, status) => { + const locationString = String(location); + this.header( + "Location", + // Multibyes should be encoded + // eslint-disable-next-line no-control-regex + !/[^\x00-\xFF]/.test(locationString) ? locationString : encodeURI(locationString) + ); + return this.newResponse(null, status ?? 302); + }; + /** + * `.notFound()` can return the Not Found Response. + * + * @see {@link https://hono.dev/docs/api/context#notfound} + * + * @example + * ```ts + * app.get('/notfound', (c) => { + * return c.notFound() + * }) + * ``` + */ + notFound = () => { + this.#notFoundHandler ??= () => createResponseInstance(); + return this.#notFoundHandler(this); + }; +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router.js +var METHOD_NAME_ALL = "ALL"; +var METHOD_NAME_ALL_LOWERCASE = "all"; +var METHODS = ["get", "post", "put", "delete", "options", "patch"]; +var MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is already built."; +var UnsupportedPathError = class extends Error { +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/utils/constants.js +var COMPOSED_HANDLER = "__COMPOSED_HANDLER"; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/hono-base.js +var notFoundHandler = (c) => { + return c.text("404 Not Found", 404); +}; +var errorHandler = (err, c) => { + if ("getResponse" in err) { + const res = err.getResponse(); + return c.newResponse(res.body, res); + } + console.error(err); + return c.text("Internal Server Error", 500); +}; +var Hono = class _Hono { + get; + post; + put; + delete; + options; + patch; + all; + on; + use; + /* + This class is like an abstract class and does not have a router. + To use it, inherit the class and implement router in the constructor. + */ + router; + getPath; + // Cannot use `#` because it requires visibility at JavaScript runtime. + _basePath = "/"; + #path = "/"; + routes = []; + constructor(options = {}) { + const allMethods = [...METHODS, METHOD_NAME_ALL_LOWERCASE]; + allMethods.forEach((method) => { + this[method] = (args1, ...args2) => { + if (typeof args1 === "string") { + this.#path = args1; + } else { + this.#addRoute(method, this.#path, args1); + } + args2.forEach((handler2) => { + this.#addRoute(method, this.#path, handler2); + }); + return this; + }; + }); + this.on = (method, path3, ...handlers2) => { + for (const p of [path3].flat()) { + this.#path = p; + for (const m of [method].flat()) { + handlers2.map((handler2) => { + this.#addRoute(m.toUpperCase(), this.#path, handler2); + }); + } + } + return this; + }; + this.use = (arg1, ...handlers2) => { + if (typeof arg1 === "string") { + this.#path = arg1; + } else { + this.#path = "*"; + handlers2.unshift(arg1); + } + handlers2.forEach((handler2) => { + this.#addRoute(METHOD_NAME_ALL, this.#path, handler2); + }); + return this; + }; + const { strict, ...optionsWithoutStrict } = options; + Object.assign(this, optionsWithoutStrict); + this.getPath = strict ?? true ? options.getPath ?? getPath : getPathNoStrict; + } + #clone() { + const clone3 = new _Hono({ + router: this.router, + getPath: this.getPath + }); + clone3.errorHandler = this.errorHandler; + clone3.#notFoundHandler = this.#notFoundHandler; + clone3.routes = this.routes; + return clone3; + } + #notFoundHandler = notFoundHandler; + // Cannot use `#` because it requires visibility at JavaScript runtime. + errorHandler = errorHandler; + /** + * `.route()` allows grouping other Hono instance in routes. + * + * @see {@link https://hono.dev/docs/api/routing#grouping} + * + * @param {string} path - base Path + * @param {Hono} app - other Hono instance + * @returns {Hono} routed Hono instance + * + * @example + * ```ts + * const app = new Hono() + * const app2 = new Hono() + * + * app2.get("/user", (c) => c.text("user")) + * app.route("/api", app2) // GET /api/user + * ``` + */ + route(path3, app) { + const subApp = this.basePath(path3); + app.routes.map((r) => { + let handler2; + if (app.errorHandler === errorHandler) { + handler2 = r.handler; + } else { + handler2 = async (c, next2) => (await compose([], app.errorHandler)(c, () => r.handler(c, next2))).res; + handler2[COMPOSED_HANDLER] = r.handler; + } + subApp.#addRoute(r.method, r.path, handler2); + }); + return this; + } + /** + * `.basePath()` allows base paths to be specified. + * + * @see {@link https://hono.dev/docs/api/routing#base-path} + * + * @param {string} path - base Path + * @returns {Hono} changed Hono instance + * + * @example + * ```ts + * const api = new Hono().basePath('/api') + * ``` + */ + basePath(path3) { + const subApp = this.#clone(); + subApp._basePath = mergePath(this._basePath, path3); + return subApp; + } + /** + * `.onError()` handles an error and returns a customized Response. + * + * @see {@link https://hono.dev/docs/api/hono#error-handling} + * + * @param {ErrorHandler} handler - request Handler for error + * @returns {Hono} changed Hono instance + * + * @example + * ```ts + * app.onError((err, c) => { + * console.error(`${err}`) + * return c.text('Custom Error Message', 500) + * }) + * ``` + */ + onError = (handler2) => { + this.errorHandler = handler2; + return this; + }; + /** + * `.notFound()` allows you to customize a Not Found Response. + * + * @see {@link https://hono.dev/docs/api/hono#not-found} + * + * @param {NotFoundHandler} handler - request handler for not-found + * @returns {Hono} changed Hono instance + * + * @example + * ```ts + * app.notFound((c) => { + * return c.text('Custom 404 Message', 404) + * }) + * ``` + */ + notFound = (handler2) => { + this.#notFoundHandler = handler2; + return this; + }; + /** + * `.mount()` allows you to mount applications built with other frameworks into your Hono application. + * + * @see {@link https://hono.dev/docs/api/hono#mount} + * + * @param {string} path - base Path + * @param {Function} applicationHandler - other Request Handler + * @param {MountOptions} [options] - options of `.mount()` + * @returns {Hono} mounted Hono instance + * + * @example + * ```ts + * import { Router as IttyRouter } from 'itty-router' + * import { Hono } from 'hono' + * // Create itty-router application + * const ittyRouter = IttyRouter() + * // GET /itty-router/hello + * ittyRouter.get('/hello', () => new Response('Hello from itty-router')) + * + * const app = new Hono() + * app.mount('/itty-router', ittyRouter.handle) + * ``` + * + * @example + * ```ts + * const app = new Hono() + * // Send the request to another application without modification. + * app.mount('/app', anotherApp, { + * replaceRequest: (req) => req, + * }) + * ``` + */ + mount(path3, applicationHandler, options) { + let replaceRequest; + let optionHandler; + if (options) { + if (typeof options === "function") { + optionHandler = options; + } else { + optionHandler = options.optionHandler; + if (options.replaceRequest === false) { + replaceRequest = (request2) => request2; + } else { + replaceRequest = options.replaceRequest; + } + } + } + const getOptions = optionHandler ? (c) => { + const options2 = optionHandler(c); + return Array.isArray(options2) ? options2 : [options2]; + } : (c) => { + let executionContext = void 0; + try { + executionContext = c.executionCtx; + } catch { + } + return [c.env, executionContext]; + }; + replaceRequest ||= (() => { + const mergedPath = mergePath(this._basePath, path3); + const pathPrefixLength = mergedPath === "/" ? 0 : mergedPath.length; + return (request2) => { + const url4 = new URL(request2.url); + url4.pathname = url4.pathname.slice(pathPrefixLength) || "/"; + return new Request(url4, request2); + }; + })(); + const handler2 = async (c, next2) => { + const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c)); + if (res) { + return res; + } + await next2(); + }; + this.#addRoute(METHOD_NAME_ALL, mergePath(path3, "*"), handler2); + return this; + } + #addRoute(method, path3, handler2) { + method = method.toUpperCase(); + path3 = mergePath(this._basePath, path3); + const r = { basePath: this._basePath, path: path3, method, handler: handler2 }; + this.router.add(method, path3, [handler2, r]); + this.routes.push(r); + } + #handleError(err, c) { + if (err instanceof Error) { + return this.errorHandler(err, c); + } + throw err; + } + #dispatch(request2, executionCtx, env2, method) { + if (method === "HEAD") { + return (async () => new Response(null, await this.#dispatch(request2, executionCtx, env2, "GET")))(); + } + const path3 = this.getPath(request2, { env: env2 }); + const matchResult = this.router.match(method, path3); + const c = new Context(request2, { + path: path3, + matchResult, + env: env2, + executionCtx, + notFoundHandler: this.#notFoundHandler + }); + if (matchResult[0].length === 1) { + let res; + try { + res = matchResult[0][0][0][0](c, async () => { + c.res = await this.#notFoundHandler(c); + }); + } catch (err) { + return this.#handleError(err, c); + } + return res instanceof Promise ? res.then( + (resolved) => resolved || (c.finalized ? c.res : this.#notFoundHandler(c)) + ).catch((err) => this.#handleError(err, c)) : res ?? this.#notFoundHandler(c); + } + const composed = compose(matchResult[0], this.errorHandler, this.#notFoundHandler); + return (async () => { + try { + const context = await composed(c); + if (!context.finalized) { + throw new Error( + "Context is not finalized. Did you forget to return a Response object or `await next()`?" + ); + } + return context.res; + } catch (err) { + return this.#handleError(err, c); + } + })(); + } + /** + * `.fetch()` will be entry point of your app. + * + * @see {@link https://hono.dev/docs/api/hono#fetch} + * + * @param {Request} request - request Object of request + * @param {Env} Env - env Object + * @param {ExecutionContext} - context of execution + * @returns {Response | Promise} response of request + * + */ + fetch = (request2, ...rest) => { + return this.#dispatch(request2, rest[1], rest[0], request2.method); + }; + /** + * `.request()` is a useful method for testing. + * You can pass a URL or pathname to send a GET request. + * app will return a Response object. + * ```ts + * test('GET /hello is ok', async () => { + * const res = await app.request('/hello') + * expect(res.status).toBe(200) + * }) + * ``` + * @see https://hono.dev/docs/api/hono#request + */ + request = (input, requestInit, Env, executionCtx) => { + if (input instanceof Request) { + return this.fetch(requestInit ? new Request(input, requestInit) : input, Env, executionCtx); + } + input = input.toString(); + return this.fetch( + new Request( + /^https?:\/\//.test(input) ? input : `http://localhost${mergePath("/", input)}`, + requestInit + ), + Env, + executionCtx + ); + }; + /** + * `.fire()` automatically adds a global fetch event listener. + * This can be useful for environments that adhere to the Service Worker API, such as non-ES module Cloudflare Workers. + * @deprecated + * Use `fire` from `hono/service-worker` instead. + * ```ts + * import { Hono } from 'hono' + * import { fire } from 'hono/service-worker' + * + * const app = new Hono() + * // ... + * fire(app) + * ``` + * @see https://hono.dev/docs/api/hono#fire + * @see https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API + * @see https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/ + */ + fire = () => { + addEventListener("fetch", (event) => { + event.respondWith(this.#dispatch(event.request, event, void 0, event.request.method)); + }); + }; +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/reg-exp-router/matcher.js +var emptyParam = []; +function match(method, path3) { + const matchers = this.buildAllMatchers(); + const match22 = ((method2, path22) => { + const matcher = matchers[method2] || matchers[METHOD_NAME_ALL]; + const staticMatch = matcher[2][path22]; + if (staticMatch) { + return staticMatch; + } + const match3 = path22.match(matcher[0]); + if (!match3) { + return [[], emptyParam]; + } + const index = match3.indexOf("", 1); + return [matcher[1][index], match3]; + }); + this.match = match22; + return match22(method, path3); +} + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/reg-exp-router/node.js +var LABEL_REG_EXP_STR = "[^/]+"; +var ONLY_WILDCARD_REG_EXP_STR = ".*"; +var TAIL_WILDCARD_REG_EXP_STR = "(?:|/.*)"; +var PATH_ERROR = /* @__PURE__ */ Symbol(); +var regExpMetaChars = new Set(".\\+*[^]$()"); +function compareKey(a, b) { + if (a.length === 1) { + return b.length === 1 ? a < b ? -1 : 1 : -1; + } + if (b.length === 1) { + return 1; + } + if (a === ONLY_WILDCARD_REG_EXP_STR || a === TAIL_WILDCARD_REG_EXP_STR) { + return 1; + } else if (b === ONLY_WILDCARD_REG_EXP_STR || b === TAIL_WILDCARD_REG_EXP_STR) { + return -1; + } + if (a === LABEL_REG_EXP_STR) { + return 1; + } else if (b === LABEL_REG_EXP_STR) { + return -1; + } + return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length; +} +var Node = class _Node { + #index; + #varIndex; + #children = /* @__PURE__ */ Object.create(null); + insert(tokens, index, paramMap, context, pathErrorCheckOnly) { + if (tokens.length === 0) { + if (this.#index !== void 0) { + throw PATH_ERROR; + } + if (pathErrorCheckOnly) { + return; + } + this.#index = index; + return; + } + const [token, ...restTokens] = tokens; + const pattern = token === "*" ? restTokens.length === 0 ? ["", "", ONLY_WILDCARD_REG_EXP_STR] : ["", "", LABEL_REG_EXP_STR] : token === "/*" ? ["", "", TAIL_WILDCARD_REG_EXP_STR] : token.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/); + let node2; + if (pattern) { + const name = pattern[1]; + let regexpStr = pattern[2] || LABEL_REG_EXP_STR; + if (name && pattern[2]) { + if (regexpStr === ".*") { + throw PATH_ERROR; + } + regexpStr = regexpStr.replace(/^\((?!\?:)(?=[^)]+\)$)/, "(?:"); + if (/\((?!\?:)/.test(regexpStr)) { + throw PATH_ERROR; + } + } + node2 = this.#children[regexpStr]; + if (!node2) { + if (Object.keys(this.#children).some( + (k) => k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR + )) { + throw PATH_ERROR; + } + if (pathErrorCheckOnly) { + return; + } + node2 = this.#children[regexpStr] = new _Node(); + if (name !== "") { + node2.#varIndex = context.varIndex++; + } + } + if (!pathErrorCheckOnly && name !== "") { + paramMap.push([name, node2.#varIndex]); + } + } else { + node2 = this.#children[token]; + if (!node2) { + if (Object.keys(this.#children).some( + (k) => k.length > 1 && k !== ONLY_WILDCARD_REG_EXP_STR && k !== TAIL_WILDCARD_REG_EXP_STR + )) { + throw PATH_ERROR; + } + if (pathErrorCheckOnly) { + return; + } + node2 = this.#children[token] = new _Node(); + } + } + node2.insert(restTokens, index, paramMap, context, pathErrorCheckOnly); + } + buildRegExpStr() { + const childKeys = Object.keys(this.#children).sort(compareKey); + const strList = childKeys.map((k) => { + const c = this.#children[k]; + return (typeof c.#varIndex === "number" ? `(${k})@${c.#varIndex}` : regExpMetaChars.has(k) ? `\\${k}` : k) + c.buildRegExpStr(); + }); + if (typeof this.#index === "number") { + strList.unshift(`#${this.#index}`); + } + if (strList.length === 0) { + return ""; + } + if (strList.length === 1) { + return strList[0]; + } + return "(?:" + strList.join("|") + ")"; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/reg-exp-router/trie.js +var Trie = class { + #context = { varIndex: 0 }; + #root = new Node(); + insert(path3, index, pathErrorCheckOnly) { + const paramAssoc = []; + const groups2 = []; + for (let i = 0; ; ) { + let replaced = false; + path3 = path3.replace(/\{[^}]+\}/g, (m) => { + const mark = `@\\${i}`; + groups2[i] = [mark, m]; + i++; + replaced = true; + return mark; + }); + if (!replaced) { + break; + } + } + const tokens = path3.match(/(?::[^\/]+)|(?:\/\*$)|./g) || []; + for (let i = groups2.length - 1; i >= 0; i--) { + const [mark] = groups2[i]; + for (let j = tokens.length - 1; j >= 0; j--) { + if (tokens[j].indexOf(mark) !== -1) { + tokens[j] = tokens[j].replace(mark, groups2[i][1]); + break; + } + } + } + this.#root.insert(tokens, index, paramAssoc, this.#context, pathErrorCheckOnly); + return paramAssoc; + } + buildRegExp() { + let regexp = this.#root.buildRegExpStr(); + if (regexp === "") { + return [/^$/, [], []]; + } + let captureIndex = 0; + const indexReplacementMap = []; + const paramReplacementMap = []; + regexp = regexp.replace(/#(\d+)|@(\d+)|\.\*\$/g, (_, handlerIndex, paramIndex) => { + if (handlerIndex !== void 0) { + indexReplacementMap[++captureIndex] = Number(handlerIndex); + return "$()"; + } + if (paramIndex !== void 0) { + paramReplacementMap[Number(paramIndex)] = ++captureIndex; + return ""; + } + return ""; + }); + return [new RegExp(`^${regexp}`), indexReplacementMap, paramReplacementMap]; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/reg-exp-router/router.js +var nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)]; +var wildcardRegExpCache = /* @__PURE__ */ Object.create(null); +function buildWildcardRegExp(path3) { + return wildcardRegExpCache[path3] ??= new RegExp( + path3 === "*" ? "" : `^${path3.replace( + /\/\*$|([.\\+*[^\]$()])/g, + (_, metaChar) => metaChar ? `\\${metaChar}` : "(?:|/.*)" + )}$` + ); +} +function clearWildcardRegExpCache() { + wildcardRegExpCache = /* @__PURE__ */ Object.create(null); +} +function buildMatcherFromPreprocessedRoutes(routes) { + const trie = new Trie(); + const handlerData = []; + if (routes.length === 0) { + return nullMatcher; + } + const routesWithStaticPathFlag = routes.map( + (route) => [!/\*|\/:/.test(route[0]), ...route] + ).sort( + ([isStaticA, pathA], [isStaticB, pathB]) => isStaticA ? 1 : isStaticB ? -1 : pathA.length - pathB.length + ); + const staticMap = /* @__PURE__ */ Object.create(null); + for (let i = 0, j = -1, len = routesWithStaticPathFlag.length; i < len; i++) { + const [pathErrorCheckOnly, path3, handlers2] = routesWithStaticPathFlag[i]; + if (pathErrorCheckOnly) { + staticMap[path3] = [handlers2.map(([h]) => [h, /* @__PURE__ */ Object.create(null)]), emptyParam]; + } else { + j++; + } + let paramAssoc; + try { + paramAssoc = trie.insert(path3, j, pathErrorCheckOnly); + } catch (e) { + throw e === PATH_ERROR ? new UnsupportedPathError(path3) : e; + } + if (pathErrorCheckOnly) { + continue; + } + handlerData[j] = handlers2.map(([h, paramCount]) => { + const paramIndexMap = /* @__PURE__ */ Object.create(null); + paramCount -= 1; + for (; paramCount >= 0; paramCount--) { + const [key, value2] = paramAssoc[paramCount]; + paramIndexMap[key] = value2; + } + return [h, paramIndexMap]; + }); + } + const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp(); + for (let i = 0, len = handlerData.length; i < len; i++) { + for (let j = 0, len2 = handlerData[i].length; j < len2; j++) { + const map2 = handlerData[i][j]?.[1]; + if (!map2) { + continue; + } + const keys = Object.keys(map2); + for (let k = 0, len3 = keys.length; k < len3; k++) { + map2[keys[k]] = paramReplacementMap[map2[keys[k]]]; + } + } + } + const handlerMap = []; + for (const i in indexReplacementMap) { + handlerMap[i] = handlerData[indexReplacementMap[i]]; + } + return [regexp, handlerMap, staticMap]; +} +function findMiddleware(middleware, path3) { + if (!middleware) { + return void 0; + } + for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) { + if (buildWildcardRegExp(k).test(path3)) { + return [...middleware[k]]; + } + } + return void 0; +} +var RegExpRouter = class { + name = "RegExpRouter"; + #middleware; + #routes; + constructor() { + this.#middleware = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) }; + this.#routes = { [METHOD_NAME_ALL]: /* @__PURE__ */ Object.create(null) }; + } + add(method, path3, handler2) { + const middleware = this.#middleware; + const routes = this.#routes; + if (!middleware || !routes) { + throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT); + } + if (!middleware[method]) { + ; + [middleware, routes].forEach((handlerMap) => { + handlerMap[method] = /* @__PURE__ */ Object.create(null); + Object.keys(handlerMap[METHOD_NAME_ALL]).forEach((p) => { + handlerMap[method][p] = [...handlerMap[METHOD_NAME_ALL][p]]; + }); + }); + } + if (path3 === "/*") { + path3 = "*"; + } + const paramCount = (path3.match(/\/:/g) || []).length; + if (/\*$/.test(path3)) { + const re = buildWildcardRegExp(path3); + if (method === METHOD_NAME_ALL) { + Object.keys(middleware).forEach((m) => { + middleware[m][path3] ||= findMiddleware(middleware[m], path3) || findMiddleware(middleware[METHOD_NAME_ALL], path3) || []; + }); + } else { + middleware[method][path3] ||= findMiddleware(middleware[method], path3) || findMiddleware(middleware[METHOD_NAME_ALL], path3) || []; + } + Object.keys(middleware).forEach((m) => { + if (method === METHOD_NAME_ALL || method === m) { + Object.keys(middleware[m]).forEach((p) => { + re.test(p) && middleware[m][p].push([handler2, paramCount]); + }); + } + }); + Object.keys(routes).forEach((m) => { + if (method === METHOD_NAME_ALL || method === m) { + Object.keys(routes[m]).forEach( + (p) => re.test(p) && routes[m][p].push([handler2, paramCount]) + ); + } + }); + return; + } + const paths = checkOptionalParameter(path3) || [path3]; + for (let i = 0, len = paths.length; i < len; i++) { + const path22 = paths[i]; + Object.keys(routes).forEach((m) => { + if (method === METHOD_NAME_ALL || method === m) { + routes[m][path22] ||= [ + ...findMiddleware(middleware[m], path22) || findMiddleware(middleware[METHOD_NAME_ALL], path22) || [] + ]; + routes[m][path22].push([handler2, paramCount - len + i + 1]); + } + }); + } + } + match = match; + buildAllMatchers() { + const matchers = /* @__PURE__ */ Object.create(null); + Object.keys(this.#routes).concat(Object.keys(this.#middleware)).forEach((method) => { + matchers[method] ||= this.#buildMatcher(method); + }); + this.#middleware = this.#routes = void 0; + clearWildcardRegExpCache(); + return matchers; + } + #buildMatcher(method) { + const routes = []; + let hasOwnRoute = method === METHOD_NAME_ALL; + [this.#middleware, this.#routes].forEach((r) => { + const ownRoute = r[method] ? Object.keys(r[method]).map((path3) => [path3, r[method][path3]]) : []; + if (ownRoute.length !== 0) { + hasOwnRoute ||= true; + routes.push(...ownRoute); + } else if (method !== METHOD_NAME_ALL) { + routes.push( + ...Object.keys(r[METHOD_NAME_ALL]).map((path3) => [path3, r[METHOD_NAME_ALL][path3]]) + ); + } + }); + if (!hasOwnRoute) { + return null; + } else { + return buildMatcherFromPreprocessedRoutes(routes); + } + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/smart-router/router.js +var SmartRouter = class { + name = "SmartRouter"; + #routers = []; + #routes = []; + constructor(init) { + this.#routers = init.routers; + } + add(method, path3, handler2) { + if (!this.#routes) { + throw new Error(MESSAGE_MATCHER_IS_ALREADY_BUILT); + } + this.#routes.push([method, path3, handler2]); + } + match(method, path3) { + if (!this.#routes) { + throw new Error("Fatal error"); + } + const routers = this.#routers; + const routes = this.#routes; + const len = routers.length; + let i = 0; + let res; + for (; i < len; i++) { + const router = routers[i]; + try { + for (let i2 = 0, len2 = routes.length; i2 < len2; i2++) { + router.add(...routes[i2]); + } + res = router.match(method, path3); + } catch (e) { + if (e instanceof UnsupportedPathError) { + continue; + } + throw e; + } + this.match = router.match.bind(router); + this.#routers = [router]; + this.#routes = void 0; + break; + } + if (i === len) { + throw new Error("Fatal error"); + } + this.name = `SmartRouter + ${this.activeRouter.name}`; + return res; + } + get activeRouter() { + if (this.#routes || this.#routers.length !== 1) { + throw new Error("No active router has been determined yet."); + } + return this.#routers[0]; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/trie-router/node.js +var emptyParams = /* @__PURE__ */ Object.create(null); +var hasChildren = (children) => { + for (const _ in children) { + return true; + } + return false; +}; +var Node2 = class _Node2 { + #methods; + #children; + #patterns; + #order = 0; + #params = emptyParams; + constructor(method, handler2, children) { + this.#children = children || /* @__PURE__ */ Object.create(null); + this.#methods = []; + if (method && handler2) { + const m = /* @__PURE__ */ Object.create(null); + m[method] = { handler: handler2, possibleKeys: [], score: 0 }; + this.#methods = [m]; + } + this.#patterns = []; + } + insert(method, path3, handler2) { + this.#order = ++this.#order; + let curNode = this; + const parts = splitRoutingPath(path3); + const possibleKeys = []; + for (let i = 0, len = parts.length; i < len; i++) { + const p = parts[i]; + const nextP = parts[i + 1]; + const pattern = getPattern(p, nextP); + const key = Array.isArray(pattern) ? pattern[0] : p; + if (key in curNode.#children) { + curNode = curNode.#children[key]; + if (pattern) { + possibleKeys.push(pattern[1]); + } + continue; + } + curNode.#children[key] = new _Node2(); + if (pattern) { + curNode.#patterns.push(pattern); + possibleKeys.push(pattern[1]); + } + curNode = curNode.#children[key]; + } + curNode.#methods.push({ + [method]: { + handler: handler2, + possibleKeys: possibleKeys.filter((v, i, a) => a.indexOf(v) === i), + score: this.#order + } + }); + return curNode; + } + #pushHandlerSets(handlerSets, node2, method, nodeParams, params) { + for (let i = 0, len = node2.#methods.length; i < len; i++) { + const m = node2.#methods[i]; + const handlerSet = m[method] || m[METHOD_NAME_ALL]; + const processedSet = {}; + if (handlerSet !== void 0) { + handlerSet.params = /* @__PURE__ */ Object.create(null); + handlerSets.push(handlerSet); + if (nodeParams !== emptyParams || params && params !== emptyParams) { + for (let i2 = 0, len2 = handlerSet.possibleKeys.length; i2 < len2; i2++) { + const key = handlerSet.possibleKeys[i2]; + const processed = processedSet[handlerSet.score]; + handlerSet.params[key] = params?.[key] && !processed ? params[key] : nodeParams[key] ?? params?.[key]; + processedSet[handlerSet.score] = true; + } + } + } + } + } + search(method, path3) { + const handlerSets = []; + this.#params = emptyParams; + const curNode = this; + let curNodes = [curNode]; + const parts = splitPath(path3); + const curNodesQueue = []; + const len = parts.length; + let partOffsets = null; + for (let i = 0; i < len; i++) { + const part = parts[i]; + const isLast = i === len - 1; + const tempNodes = []; + for (let j = 0, len2 = curNodes.length; j < len2; j++) { + const node2 = curNodes[j]; + const nextNode = node2.#children[part]; + if (nextNode) { + nextNode.#params = node2.#params; + if (isLast) { + if (nextNode.#children["*"]) { + this.#pushHandlerSets(handlerSets, nextNode.#children["*"], method, node2.#params); + } + this.#pushHandlerSets(handlerSets, nextNode, method, node2.#params); + } else { + tempNodes.push(nextNode); + } + } + for (let k = 0, len3 = node2.#patterns.length; k < len3; k++) { + const pattern = node2.#patterns[k]; + const params = node2.#params === emptyParams ? {} : { ...node2.#params }; + if (pattern === "*") { + const astNode = node2.#children["*"]; + if (astNode) { + this.#pushHandlerSets(handlerSets, astNode, method, node2.#params); + astNode.#params = params; + tempNodes.push(astNode); + } + continue; + } + const [key, name, matcher] = pattern; + if (!part && !(matcher instanceof RegExp)) { + continue; + } + const child = node2.#children[key]; + if (matcher instanceof RegExp) { + if (partOffsets === null) { + partOffsets = new Array(len); + let offset = path3[0] === "/" ? 1 : 0; + for (let p = 0; p < len; p++) { + partOffsets[p] = offset; + offset += parts[p].length + 1; + } + } + const restPathString = path3.substring(partOffsets[i]); + const m = matcher.exec(restPathString); + if (m) { + params[name] = m[0]; + this.#pushHandlerSets(handlerSets, child, method, node2.#params, params); + if (hasChildren(child.#children)) { + child.#params = params; + const componentCount = m[0].match(/\//)?.length ?? 0; + const targetCurNodes = curNodesQueue[componentCount] ||= []; + targetCurNodes.push(child); + } + continue; + } + } + if (matcher === true || matcher.test(part)) { + params[name] = part; + if (isLast) { + this.#pushHandlerSets(handlerSets, child, method, params, node2.#params); + if (child.#children["*"]) { + this.#pushHandlerSets( + handlerSets, + child.#children["*"], + method, + params, + node2.#params + ); + } + } else { + child.#params = params; + tempNodes.push(child); + } + } + } + } + const shifted = curNodesQueue.shift(); + curNodes = shifted ? tempNodes.concat(shifted) : tempNodes; + } + if (handlerSets.length > 1) { + handlerSets.sort((a, b) => { + return a.score - b.score; + }); + } + return [handlerSets.map(({ handler: handler2, params }) => [handler2, params])]; + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/router/trie-router/router.js +var TrieRouter = class { + name = "TrieRouter"; + #node; + constructor() { + this.#node = new Node2(); + } + add(method, path3, handler2) { + const results = checkOptionalParameter(path3); + if (results) { + for (let i = 0, len = results.length; i < len; i++) { + this.#node.insert(method, results[i], handler2); + } + return; + } + this.#node.insert(method, path3, handler2); + } + match(method, path3) { + return this.#node.search(method, path3); + } +}; + +// node_modules/.pnpm/hono@4.12.5/node_modules/hono/dist/hono.js +var Hono2 = class extends Hono { + /** + * Creates an instance of the Hono class. + * + * @param options - Optional configuration options for the Hono instance. + */ + constructor(options = {}) { + super(options); + this.router = options.router ?? new SmartRouter({ + routers: [new RegExpRouter(), new TrieRouter()] + }); + } +}; + +// node_modules/.pnpm/mcp-proxy@6.4.1/node_modules/mcp-proxy/dist/stdio-vt8L9uwX.mjs import { createRequire } from "node:module"; import { randomUUID } from "node:crypto"; import { URL as URL$1 } from "node:url"; +import fs from "fs"; import http from "http"; +import https from "https"; var __create2 = Object.create; var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; @@ -124280,9 +122191,9 @@ var require_lib2 = /* @__PURE__ */ __commonJSMin(((exports, module) => { iconv$1._codecDataCache = { __proto__: null }; iconv$1.getCodec = function getCodec(encoding) { if (!iconv$1.encodings) { - var raw = require_encodings(); + var raw2 = require_encodings(); iconv$1.encodings = { __proto__: null }; - mergeModules(iconv$1.encodings, raw); + mergeModules(iconv$1.encodings, raw2); } var enc = iconv$1._canonicalizeEncoding(encoding); var codecOptions = {}; @@ -124525,14 +122436,14 @@ var require_content_type = /* @__PURE__ */ __commonJSMin(((exports) => { var obj = new ContentType(type2.toLowerCase()); if (index !== -1) { var key$1; - var match2; + var match3; var value2; PARAM_REGEXP.lastIndex = index; - while (match2 = PARAM_REGEXP.exec(header)) { - if (match2.index !== index) throw new TypeError("invalid parameter format"); - index += match2[0].length; - key$1 = match2[1].toLowerCase(); - value2 = match2[2]; + while (match3 = PARAM_REGEXP.exec(header)) { + if (match3.index !== index) throw new TypeError("invalid parameter format"); + index += match3[0].length; + key$1 = match3[1].toLowerCase(); + value2 = match3[2]; if (value2.charCodeAt(0) === 34) { value2 = value2.slice(1, -1); if (value2.indexOf("\\") !== -1) value2 = value2.replace(QESC_REGEXP, "$1"); @@ -125286,7 +123197,7 @@ var cleanupServer = async (server, onClose) => { var applyCorsHeaders = (req, res, corsOptions) => { if (!req.headers.origin) return; const defaultCorsOptions = { - allowedHeaders: "Content-Type, Authorization, Accept, Mcp-Session-Id, Last-Event-Id", + allowedHeaders: "Content-Type, Authorization, Accept, Mcp-Session-Id, Mcp-Protocol-Version, Last-Event-Id", credentials: true, exposedHeaders: ["Mcp-Session-Id"], methods: [ @@ -125328,12 +123239,13 @@ var handleStreamRequest = async ({ activeTransports, authenticate, authMiddlewar if (req.method === "POST" && new URL(req.url, "http://localhost").pathname === endpoint2) { let body; try { - const sessionId = Array.isArray(req.headers["mcp-session-id"]) ? req.headers["mcp-session-id"][0] : req.headers["mcp-session-id"]; + const sessionId = stateless ? void 0 : Array.isArray(req.headers["mcp-session-id"]) ? req.headers["mcp-session-id"][0] : req.headers["mcp-session-id"]; let transport; let server; body = await getBody(req); - if (stateless && authenticate) try { - const authResult = await authenticate(req); + let authResult; + if (authenticate) try { + authResult = await authenticate(req); if (!authResult || typeof authResult === "object" && "authenticated" in authResult && !authResult.authenticated) { const errorMessage = authResult && typeof authResult === "object" && "error" in authResult && typeof authResult.error === "string" ? authResult.error : "Unauthorized: Authentication failed"; res.setHeader("Content-Type", "application/json"); @@ -125381,6 +123293,7 @@ var handleStreamRequest = async ({ activeTransports, authenticate, authMiddlewar } transport = activeTransport.transport; server = activeTransport.server; + if (authResult && typeof server === "object" && server !== null && "updateAuth" in server && typeof server.updateAuth === "function") server.updateAuth(authResult); } else if (!sessionId && isInitializeRequest(body)) { transport = new StreamableHTTPServerTransport({ enableJsonResponse, @@ -125586,14 +123499,14 @@ var handleSSERequest = async ({ activeTransports, createServer: createServer2, e } return false; }; -var startHTTPServer = async ({ apiKey, authenticate, cors, createServer: createServer2, enableJsonResponse, eventStore, host = "::", oauth, onClose, onConnect, onUnhandledRequest, port, sseEndpoint = "/sse", stateless, streamEndpoint = "/mcp" }) => { +var startHTTPServer = async ({ apiKey, authenticate, cors, createServer: createServer2, enableJsonResponse, eventStore, host = "::", oauth, onClose, onConnect, onUnhandledRequest, port, sseEndpoint = "/sse", sslCa, sslCert, sslKey, stateless, streamEndpoint = "/mcp" }) => { const activeSSETransports = {}; const activeStreamTransports = {}; const authMiddleware = new AuthenticationMiddleware({ apiKey, oauth }); - const httpServer = http.createServer(async (req, res) => { + const requestListener = async (req, res) => { applyCorsHeaders(req, res, cors); if (req.method === "OPTIONS") { res.writeHead(204); @@ -125636,7 +123549,27 @@ var startHTTPServer = async ({ apiKey, authenticate, cors, createServer: createS })) return; if (onUnhandledRequest) await onUnhandledRequest(req, res); else res.writeHead(404).end(); - }); + }; + let httpServer; + if (sslCa || sslCert || sslKey) { + const options = {}; + if (sslCa) try { + options.ca = fs.readFileSync(sslCa); + } catch (error$1) { + throw new Error(`Failed to read CA file '${sslCa}': ${error$1.message}`); + } + if (sslCert) try { + options.cert = fs.readFileSync(sslCert); + } catch (error$1) { + throw new Error(`Failed to read certificate file '${sslCert}': ${error$1.message}`); + } + if (sslKey) try { + options.key = fs.readFileSync(sslKey); + } catch (error$1) { + throw new Error(`Failed to read key file '${sslKey}': ${error$1.message}`); + } + httpServer = https.createServer(options, requestListener); + } else httpServer = http.createServer(requestListener); await new Promise((resolve$2) => { httpServer.listen(port, host, () => { resolve$2(void 0); @@ -126016,7 +123949,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { AND: new code_1$11._Code("&&"), ADD: new code_1$11._Code("+") }; - var Node = class { + var Node3 = class { optimizeNodes() { return this; } @@ -126024,7 +123957,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return this; } }; - var Def = class extends Node { + var Def = class extends Node3 { constructor(varKind, name, rhs) { super(); this.varKind = varKind; @@ -126045,7 +123978,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return this.rhs instanceof code_1$11._CodeOrName ? this.rhs.names : {}; } }; - var Assign = class extends Node { + var Assign = class extends Node3 { constructor(lhs, rhs, sideEffects) { super(); this.lhs = lhs; @@ -126073,7 +124006,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return `${this.lhs} ${this.op}= ${this.rhs};` + _n; } }; - var Label = class extends Node { + var Label = class extends Node3 { constructor(label) { super(); this.label = label; @@ -126083,7 +124016,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return `${this.label}:` + _n; } }; - var Break = class extends Node { + var Break = class extends Node3 { constructor(label) { super(); this.label = label; @@ -126093,7 +124026,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return `break${this.label ? ` ${this.label}` : ""};` + _n; } }; - var Throw = class extends Node { + var Throw = class extends Node3 { constructor(error$1) { super(); this.error = error$1; @@ -126105,7 +124038,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return this.error.names; } }; - var AnyCode = class extends Node { + var AnyCode = class extends Node3 { constructor(code) { super(); this.code = code; @@ -126124,7 +124057,7 @@ var require_codegen2 = /* @__PURE__ */ __commonJSMin(((exports) => { return this.code instanceof code_1$11._CodeOrName ? this.code.names : {}; } }; - var ParentNode = class extends Node { + var ParentNode = class extends Node3 { constructor(nodes = []) { super(); this.nodes = nodes; @@ -128647,7 +126580,7 @@ var require_schemes2 = /* @__PURE__ */ __commonJSMin(((exports, module) => { parse: httpParse, serialize: httpSerialize }; - const https = { + const https$1 = { scheme: "https", domainHost: http$1.domainHost, parse: httpParse, @@ -128679,7 +126612,7 @@ var require_schemes2 = /* @__PURE__ */ __commonJSMin(((exports, module) => { }; const SCHEMES$1 = { http: http$1, - https, + https: https$1, ws, wss, urn, @@ -131467,11 +129400,11 @@ var require_dist2 = /* @__PURE__ */ __commonJSMin(((exports, module) => { if (!f) throw new Error(`Unknown format "${name}"`); return f; }; - function addFormats(ajv, list, fs3, exportName) { + function addFormats(ajv, list, fs$1, exportName) { var _a2; var _b; (_a2 = (_b = ajv.opts.code).formats) !== null && _a2 !== void 0 || (_b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`); - for (const f of list) ajv.addFormat(f, fs3[f]); + for (const f of list) ajv.addFormat(f, fs$1[f]); } module.exports = exports = formatsPlugin; Object.defineProperty(exports, "__esModule", { value: true }); @@ -131480,7 +129413,7 @@ var require_dist2 = /* @__PURE__ */ __commonJSMin(((exports, module) => { var import_ajv2 = require_ajv2(); var import_dist = /* @__PURE__ */ __toESM2(require_dist2(), 1); -// node_modules/.pnpm/mcp-proxy@5.12.5/node_modules/mcp-proxy/dist/index.mjs +// node_modules/.pnpm/mcp-proxy@6.4.1/node_modules/mcp-proxy/dist/index.mjs var ZodIssueCode3 = { invalid_type: "invalid_type", too_big: "too_big", @@ -132105,15 +130038,15 @@ var EventSourceParserStream = class extends TransformStream { } }; -// node_modules/.pnpm/fastmcp@3.26.8_arktype@2.1.29_hono@4.11.3/node_modules/fastmcp/dist/FastMCP.js +// node_modules/.pnpm/fastmcp@3.34.0_arktype@2.2.0/node_modules/fastmcp/dist/chunk-DMSZ2FEE.js var import_undici = __toESM(require_undici2(), 1); var import_uri_templates = __toESM(require_uri_templates(), 1); import { setTimeout as delay } from "timers/promises"; -// node_modules/.pnpm/xsschema@0.4.0-beta.5_arktype@2.1.29_zod-to-json-schema@3.25.1_zod@4.3.5__zod@4.3.5/node_modules/xsschema/dist/index.js -init_index_CLFto6T2(); +// node_modules/.pnpm/xsschema@0.4.3_arktype@2.2.0_zod-to-json-schema@3.25.1_zod@4.3.6__zod@4.3.6/node_modules/xsschema/dist/index.js +init_index_DoHiaFQM(); -// node_modules/.pnpm/fastmcp@3.26.8_arktype@2.1.29_hono@4.11.3/node_modules/fastmcp/dist/FastMCP.js +// node_modules/.pnpm/fastmcp@3.34.0_arktype@2.2.0/node_modules/fastmcp/dist/chunk-DMSZ2FEE.js var FastMCPError = class extends Error { constructor(message) { super(message); @@ -132232,9 +130165,9 @@ var FastMCPSession = class extends FastMCPSessionEventEmitter { #needsEventLoopFlush = false; #pingConfig; #pingInterval = null; - #prompts = []; - #resources = []; - #resourceTemplates = []; + #prompts = /* @__PURE__ */ new Map(); + #resources = /* @__PURE__ */ new Map(); + #resourceTemplates = /* @__PURE__ */ new Map(); #roots = []; #rootsConfig; #server; @@ -132297,16 +130230,16 @@ var FastMCPSession = class extends FastMCPSessionEventEmitter { for (const resource of resources) { this.addResource(resource); } - this.setupResourceHandlers(resources); + this.setupResourceHandlers(); if (resourcesTemplates.length) { for (const resourceTemplate of resourcesTemplates) { this.addResourceTemplate(resourceTemplate); } - this.setupResourceTemplateHandlers(resourcesTemplates); + this.setupResourceTemplateHandlers(); } } if (prompts.length) { - this.setupPromptHandlers(prompts); + this.setupPromptHandlers(); } } async close() { @@ -132404,30 +130337,30 @@ ${e instanceof Error ? e.stack : JSON.stringify(e)}` } } promptsListChanged(prompts) { - this.#prompts = []; + this.#prompts.clear(); for (const prompt of prompts) { this.addPrompt(prompt); } - this.setupPromptHandlers(prompts); + this.setupPromptHandlers(); this.triggerListChangedNotification("notifications/prompts/list_changed"); } async requestSampling(message, options) { return this.#server.createMessage(message, options); } resourcesListChanged(resources) { - this.#resources = []; + this.#resources.clear(); for (const resource of resources) { this.addResource(resource); } - this.setupResourceHandlers(resources); + this.setupResourceHandlers(); this.triggerListChangedNotification("notifications/resources/list_changed"); } resourceTemplatesListChanged(resourceTemplates) { - this.#resourceTemplates = []; + this.#resourceTemplates.clear(); for (const resourceTemplate of resourceTemplates) { this.addResourceTemplate(resourceTemplate); } - this.setupResourceTemplateHandlers(resourceTemplates); + this.setupResourceTemplateHandlers(); this.triggerListChangedNotification("notifications/resources/list_changed"); } toolsListChanged(tools) { @@ -132450,6 +130383,13 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` ); } } + /** + * Update the session's authentication context. + * Called by mcp-proxy when a new token is validated on subsequent requests. + */ + updateAuth(auth2) { + this.#auth = auth2; + } waitForReady() { if (this.isReady) { return Promise.resolve(); @@ -132529,10 +130469,10 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` }; } }; - this.#prompts.push(prompt); + this.#prompts.set(prompt.name, prompt); } addResource(inputResource) { - this.#resources.push(inputResource); + this.#resources.set(inputResource.uri, inputResource); } addResourceTemplate(inputResourceTemplate) { const completers = {}; @@ -132555,13 +130495,13 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` }; } }; - this.#resourceTemplates.push(resourceTemplate); + this.#resourceTemplates.set(resourceTemplate.name, resourceTemplate); } setupCompleteHandlers() { this.#server.setRequestHandler(CompleteRequestSchema, async (request2) => { if (request2.params.ref.type === "ref/prompt") { const ref = request2.params.ref; - const prompt = "name" in ref && this.#prompts.find((prompt2) => prompt2.name === ref.name); + const prompt = "name" in ref && this.#prompts.get(ref.name); if (!prompt) { throw new UnexpectedStateError("Unknown prompt", { request: request2 @@ -132585,7 +130525,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` } if (request2.params.ref.type === "ref/resource") { const ref = request2.params.ref; - const resource = "uri" in ref && this.#resourceTemplates.find( + const resource = "uri" in ref && Array.from(this.#resourceTemplates.values()).find( (resource2) => resource2.uriTemplate === ref.uri ); if (!resource) { @@ -132631,7 +130571,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` return {}; }); } - setupPromptHandlers(prompts) { + setupPromptHandlers() { let cachedPromptsList = null; this.#server.setRequestHandler(ListPromptsRequestSchema, async () => { if (cachedPromptsList) { @@ -132639,7 +130579,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` prompts: cachedPromptsList }; } - cachedPromptsList = prompts.map((prompt) => { + cachedPromptsList = Array.from(this.#prompts.values()).map((prompt) => { return { arguments: prompt.arguments, complete: prompt.complete, @@ -132652,9 +130592,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` }; }); this.#server.setRequestHandler(GetPromptRequestSchema, async (request2) => { - const prompt = prompts.find( - (prompt2) => prompt2.name === request2.params.name - ); + const prompt = this.#prompts.get(request2.params.name); if (!prompt) { throw new McpError( ErrorCode.MethodNotFound, @@ -132701,7 +130639,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` } }); } - setupResourceHandlers(resources) { + setupResourceHandlers() { let cachedResourcesList = null; this.#server.setRequestHandler(ListResourcesRequestSchema, async () => { if (cachedResourcesList) { @@ -132709,12 +130647,14 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` resources: cachedResourcesList }; } - cachedResourcesList = resources.map((resource) => ({ - description: resource.description, - mimeType: resource.mimeType, - name: resource.name, - uri: resource.uri - })); + cachedResourcesList = Array.from(this.#resources.values()).map( + (resource) => ({ + description: resource.description, + mimeType: resource.mimeType, + name: resource.name, + uri: resource.uri + }) + ); return { resources: cachedResourcesList }; @@ -132723,23 +130663,21 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` ReadResourceRequestSchema, async (request2) => { if ("uri" in request2.params) { - const resource = resources.find( - (resource2) => "uri" in resource2 && resource2.uri === request2.params.uri - ); + const resource = this.#resources.get(request2.params.uri); if (!resource) { - for (const resourceTemplate of this.#resourceTemplates) { + for (const resourceTemplate of this.#resourceTemplates.values()) { const uriTemplate = (0, import_uri_templates.default)( resourceTemplate.uriTemplate ); - const match2 = uriTemplate.fromUri(request2.params.uri); - if (!match2) { + const match3 = uriTemplate.fromUri(request2.params.uri); + if (!match3) { continue; } - const uri = uriTemplate.fill(match2); - const result = await resourceTemplate.load(match2, this.#auth); - const resources2 = Array.isArray(result) ? result : [result]; + const uri = uriTemplate.fill(match3); + const result = await resourceTemplate.load(match3, this.#auth); + const resources = Array.isArray(result) ? result : [result]; return { - contents: resources2.map((resource2) => ({ + contents: resources.map((resource2) => ({ ...resource2, description: resourceTemplate.description, mimeType: resource2.mimeType ?? resourceTemplate.mimeType, @@ -132750,7 +130688,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` } throw new McpError( ErrorCode.MethodNotFound, - `Resource not found: '${request2.params.uri}'. Available resources: ${resources.map((r) => r.uri).join(", ") || "none"}` + `Resource not found: '${request2.params.uri}'. Available resources: ${Array.from(this.#resources.values()).map((r) => r.uri).join(", ") || "none"}` ); } if (!("uri" in resource)) { @@ -132785,7 +130723,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` } ); } - setupResourceTemplateHandlers(resourceTemplates) { + setupResourceTemplateHandlers() { let cachedResourceTemplatesList = null; this.#server.setRequestHandler( ListResourceTemplatesRequestSchema, @@ -132795,14 +130733,14 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` resourceTemplates: cachedResourceTemplatesList }; } - cachedResourceTemplatesList = resourceTemplates.map( - (resourceTemplate) => ({ - description: resourceTemplate.description, - mimeType: resourceTemplate.mimeType, - name: resourceTemplate.name, - uriTemplate: resourceTemplate.uriTemplate - }) - ); + cachedResourceTemplatesList = Array.from( + this.#resourceTemplates.values() + ).map((resourceTemplate) => ({ + description: resourceTemplate.description, + mimeType: resourceTemplate.mimeType, + name: resourceTemplate.name, + uriTemplate: resourceTemplate.uriTemplate + })); return { resourceTemplates: cachedResourceTemplatesList }; @@ -132847,6 +130785,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` } } setupToolHandlers(tools) { + const toolsMap = new Map(tools.map((tool2) => [tool2.name, tool2])); let cachedToolsList = null; this.#server.setRequestHandler(ListToolsRequestSchema, async () => { if (cachedToolsList) { @@ -132864,7 +130803,14 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` properties: {}, type: "object" }, - name: tool2.name + name: tool2.name, + ...tool2.outputSchema && { + outputSchema: await toJsonSchema( + tool2.outputSchema + ) + }, + // Pass through _meta for MCP ext-apps UI support (issue #229) + ...tool2._meta && { _meta: tool2._meta } }; }) ); @@ -132873,7 +130819,7 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` }; }); this.#server.setRequestHandler(CallToolRequestSchema, async (request2) => { - const tool2 = tools.find((tool22) => tool22.name === request2.params.name); + const tool2 = toolsMap.get(request2.params.name); if (!tool2) { throw new McpError( ErrorCode.MethodNotFound, @@ -132998,7 +130944,10 @@ ${error49 instanceof Error ? error49.stack : JSON.stringify(error49)}` ) ); }, tool2.timeoutMs); - executeToolPromise.finally(() => clearTimeout(timeoutId)); + executeToolPromise.then( + () => clearTimeout(timeoutId), + () => clearTimeout(timeoutId) + ); }) ]) : executeToolPromise); await delay(1); @@ -133071,8 +131020,22 @@ var FastMCP = class extends FastMCPEventEmitter { super(); this.options = options; this.#options = options; - this.#authenticate = options.authenticate; this.#logger = options.logger || console; + if (options.auth) { + if (!options.authenticate) { + this.#authenticate = ((request2) => options.auth.authenticate(request2)); + } else { + this.#authenticate = options.authenticate; + } + if (!options.oauth) { + this.#options = { + ...options, + oauth: options.auth.getOAuthConfig() + }; + } + } else { + this.#authenticate = options.authenticate; + } } get serverState() { return this.#serverState; @@ -133081,6 +131044,7 @@ var FastMCP = class extends FastMCPEventEmitter { return this.#sessions; } #authenticate; + #honoApp = new Hono2(); #httpStreamServer = null; #logger; #options; @@ -133233,6 +131197,30 @@ var FastMCP = class extends FastMCPEventEmitter { } throw new UnexpectedStateError(`Resource not found: ${uri}`, { uri }); } + /** + * Returns the underlying Hono app instance for direct access to Hono's native API. + * This allows you to add custom routes, middleware, and handlers using Hono's standard methods. + * + * @returns The Hono app instance + * + * @example + * ```typescript + * const app = server.getApp(); + * + * // Add routes using native Hono API + * app.get('/api/users', async (c) => { + * return c.json({ users: [] }); + * }); + * + * app.post('/api/users/:id', async (c) => { + * const id = c.req.param('id'); + * return c.json({ id }); + * }); + * ``` + */ + getApp() { + return this.#honoApp; + } /** * Removes a prompt from the server. */ @@ -133376,9 +131364,10 @@ var FastMCP = class extends FastMCPEventEmitter { this.#serverState = "running"; } else if (config3.transportType === "httpStream") { const httpConfig = config3.httpStream; + const protocol = httpConfig.sslCert || httpConfig.sslKey ? "https" : "http"; if (httpConfig.stateless) { this.#logger.info( - `[FastMCP info] Starting server in stateless mode on HTTP Stream at http://${httpConfig.host}:${httpConfig.port}${httpConfig.endpoint}` + `[FastMCP info] Starting server in stateless mode on HTTP Stream at ${protocol}://${httpConfig.host}:${httpConfig.port}${httpConfig.endpoint}` ); this.#httpStreamServer = await startHTTPServer({ ...this.#authenticate ? { authenticate: this.#authenticate } : {}, @@ -133421,6 +131410,9 @@ var FastMCP = class extends FastMCPEventEmitter { ); }, port: httpConfig.port, + sslCa: httpConfig.sslCa, + sslCert: httpConfig.sslCert, + sslKey: httpConfig.sslKey, stateless: true, streamEndpoint: httpConfig.endpoint }); @@ -133469,11 +131461,14 @@ var FastMCP = class extends FastMCPEventEmitter { ); }, port: httpConfig.port, + sslCa: httpConfig.sslCa, + sslCert: httpConfig.sslCert, + sslKey: httpConfig.sslKey, stateless: httpConfig.stateless, streamEndpoint: httpConfig.endpoint }); this.#logger.info( - `[FastMCP info] server is running on HTTP Stream at http://${httpConfig.host}:${httpConfig.port}${httpConfig.endpoint}` + `[FastMCP info] server is running on HTTP Stream at ${protocol}://${httpConfig.host}:${httpConfig.port}${httpConfig.endpoint}` ); } this.#serverState = "running"; @@ -133520,22 +131515,54 @@ var FastMCP = class extends FastMCPEventEmitter { }); } /** - * Handles unhandled HTTP requests with health, readiness, and OAuth endpoints + * Handles unhandled HTTP requests with health, readiness, OAuth endpoints, and custom routes */ #handleUnhandledRequest = async (req, res, isStateless = false, host, streamEndpoint) => { + const url4 = new URL(req.url || "", `http://${host}`); + try { + const webRequest = this.#nodeRequestToWebRequest(req, url4); + const honoResponse = await this.#honoApp.fetch(webRequest, { + incoming: req, + outgoing: res + }); + if (honoResponse.status !== 404) { + if (!res.headersSent) { + res.statusCode = honoResponse.status; + honoResponse.headers.forEach((value2, key) => { + res.setHeader(key, value2); + }); + if (honoResponse.body) { + const reader = honoResponse.body.getReader(); + try { + while (true) { + const { done, value: value2 } = await reader.read(); + if (done) break; + res.write(value2); + } + } finally { + reader.releaseLock(); + } + } + res.end(); + } + return; + } + } catch (error49) { + this.#logger.debug("[FastMCP debug] Hono route not matched", error49); + } const healthConfig = this.#options.health ?? {}; const enabled = healthConfig.enabled === void 0 ? true : healthConfig.enabled; if (enabled) { const path3 = healthConfig.path ?? "/health"; - const url4 = new URL(req.url || "", `http://${host}`); + const url22 = new URL(req.url || "", `http://${host}`); try { - if (req.method === "GET" && url4.pathname === path3) { + if (req.method === "GET" && url22.pathname === path3) { res.writeHead(healthConfig.status ?? 200, { "Content-Type": "text/plain" }).end(healthConfig.message ?? "\u2713 Ok"); return; } - if (req.method === "GET" && url4.pathname === "/ready") { + if (req.method === "GET" && url22.pathname === "/ready") { if (isStateless) { const response = { mode: "stateless", @@ -133569,8 +131596,8 @@ var FastMCP = class extends FastMCPEventEmitter { } const oauthConfig = this.#options.oauth; if (oauthConfig?.enabled && req.method === "GET") { - const url4 = new URL(req.url || "", `http://${host}`); - if (url4.pathname === "/.well-known/oauth-authorization-server" && oauthConfig.authorizationServer) { + const url22 = new URL(req.url || "", `http://${host}`); + if (url22.pathname === "/.well-known/oauth-authorization-server" && oauthConfig.authorizationServer) { const metadata = convertObjectToSnakeCase( oauthConfig.authorizationServer ); @@ -133582,9 +131609,9 @@ var FastMCP = class extends FastMCPEventEmitter { if (oauthConfig.protectedResource) { const wellKnownBase = "/.well-known/oauth-protected-resource"; let shouldServeMetadata = false; - if (streamEndpoint && url4.pathname === `${wellKnownBase}${streamEndpoint}`) { + if (streamEndpoint && url22.pathname === `${wellKnownBase}${streamEndpoint}`) { shouldServeMetadata = true; - } else if (url4.pathname === wellKnownBase) { + } else if (url22.pathname === wellKnownBase) { shouldServeMetadata = true; } if (shouldServeMetadata) { @@ -133600,9 +131627,9 @@ var FastMCP = class extends FastMCPEventEmitter { } const oauthProxy = oauthConfig?.proxy; if (oauthProxy && oauthConfig?.enabled) { - const url4 = new URL(req.url || "", `http://${host}`); + const url22 = new URL(req.url || "", `http://${host}`); try { - if (req.method === "POST" && url4.pathname === "/oauth/register") { + if (req.method === "POST" && url22.pathname === "/oauth/register") { let body = ""; req.on("data", (chunk) => body += chunk); req.on("end", async () => { @@ -133623,9 +131650,9 @@ var FastMCP = class extends FastMCPEventEmitter { }); return; } - if (req.method === "GET" && url4.pathname === "/oauth/authorize") { + if (req.method === "GET" && url22.pathname === "/oauth/authorize") { try { - const params = Object.fromEntries(url4.searchParams.entries()); + const params = Object.fromEntries(url22.searchParams.entries()); const response = await oauthProxy.authorize( params ); @@ -133647,7 +131674,7 @@ var FastMCP = class extends FastMCPEventEmitter { } return; } - if (req.method === "GET" && url4.pathname === "/oauth/callback") { + if (req.method === "GET" && url22.pathname === "/oauth/callback") { try { const mockRequest = new Request(`http://${host}${req.url}`); const response = await oauthProxy.handleCallback(mockRequest); @@ -133669,7 +131696,7 @@ var FastMCP = class extends FastMCPEventEmitter { } return; } - if (req.method === "POST" && url4.pathname === "/oauth/consent") { + if (req.method === "POST" && url22.pathname === "/oauth/consent") { let body = ""; req.on("data", (chunk) => body += chunk); req.on("end", async () => { @@ -133701,7 +131728,7 @@ var FastMCP = class extends FastMCPEventEmitter { }); return; } - if (req.method === "POST" && url4.pathname === "/oauth/token") { + if (req.method === "POST" && url22.pathname === "/oauth/token") { let body = ""; req.on("data", (chunk) => body += chunk); req.on("end", async () => { @@ -133757,6 +131784,41 @@ var FastMCP = class extends FastMCPEventEmitter { } res.writeHead(404).end(); }; + /** + * Converts Node.js IncomingMessage to Web Request for Hono + */ + #nodeRequestToWebRequest(req, url4) { + const method = req.method || "GET"; + const headers = new Headers(); + for (const [key, value2] of Object.entries(req.headers)) { + if (value2) { + if (Array.isArray(value2)) { + for (const v of value2) { + headers.append(key, v); + } + } else { + headers.set(key, value2); + } + } + } + const hasBody = method !== "GET" && method !== "HEAD"; + if (hasBody) { + return new Request(url4.toString(), { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + body: req, + // Node.js IncomingMessage is readable stream + duplex: "half", + // Required for streaming bodies + headers, + method + }); + } else { + return new Request(url4.toString(), { + headers, + method + }); + } + } #parseRuntimeConfig(overrides) { const args2 = process.argv.slice(2); const getArg = (name) => { @@ -133782,12 +131844,20 @@ var FastMCP = class extends FastMCPEventEmitter { const endpoint2 = overrides?.httpStream?.endpoint || endpointArg || envEndpoint || "/mcp"; const enableJsonResponse = overrides?.httpStream?.enableJsonResponse || false; const stateless = overrides?.httpStream?.stateless || statelessArg === "true" || envStateless === "true" || false; + const eventStore = overrides?.httpStream?.eventStore; + const sslCa = overrides?.httpStream?.sslCa; + const sslCert = overrides?.httpStream?.sslCert; + const sslKey = overrides?.httpStream?.sslKey; return { httpStream: { enableJsonResponse, endpoint: endpoint2, + eventStore, host, port, + sslCa, + sslCert, + sslKey, stateless }, transportType: "httpStream" @@ -133838,6 +131908,11 @@ var FastMCP = class extends FastMCPEventEmitter { } }; +// node_modules/.pnpm/fastmcp@3.34.0_arktype@2.2.0/node_modules/fastmcp/dist/chunk-H4VC4YTC.js +import { createHmac as createHmac2, pbkdf2, randomBytes } from "crypto"; +import { promisify } from "util"; +var pbkdf2Async = promisify(pbkdf2); + // node_modules/.pnpm/@ark+schema@0.56.0/node_modules/@ark/schema/out/shared/errors.js var ArkError = class _ArkError extends CastableBase { [arkKind] = "error"; @@ -137792,22 +135867,22 @@ var implementation21 = implementNode({ } return { variadic: schema2 }; }, - reduce: (raw, $2) => { - let minVariadicLength = raw.minVariadicLength ?? 0; - const prefix = raw.prefix?.slice() ?? []; - const defaultables = raw.defaultables?.slice() ?? []; - const optionals = raw.optionals?.slice() ?? []; - const postfix = raw.postfix?.slice() ?? []; - if (raw.variadic) { - while (optionals[optionals.length - 1]?.equals(raw.variadic)) + reduce: (raw2, $2) => { + let minVariadicLength = raw2.minVariadicLength ?? 0; + const prefix = raw2.prefix?.slice() ?? []; + const defaultables = raw2.defaultables?.slice() ?? []; + const optionals = raw2.optionals?.slice() ?? []; + const postfix = raw2.postfix?.slice() ?? []; + if (raw2.variadic) { + while (optionals[optionals.length - 1]?.equals(raw2.variadic)) optionals.pop(); if (optionals.length === 0 && defaultables.length === 0) { - while (prefix[prefix.length - 1]?.equals(raw.variadic)) { + while (prefix[prefix.length - 1]?.equals(raw2.variadic)) { prefix.pop(); minVariadicLength++; } } - while (postfix[0]?.equals(raw.variadic)) { + while (postfix[0]?.equals(raw2.variadic)) { postfix.shift(); minVariadicLength++; } @@ -137816,11 +135891,11 @@ var implementation21 = implementNode({ } if ( // if any variadic adjacent elements were moved to minVariadicLength - minVariadicLength !== raw.minVariadicLength || // or any postfix elements were moved to prefix - raw.prefix && raw.prefix.length !== prefix.length + minVariadicLength !== raw2.minVariadicLength || // or any postfix elements were moved to prefix + raw2.prefix && raw2.prefix.length !== prefix.length ) { return $2.node("sequence", { - ...raw, + ...raw2, // empty lists will be omitted during parsing prefix, defaultables, @@ -139350,7 +137425,7 @@ $ark.intrinsic = { ...intrinsic }; var regex = ((src, flags) => new RegExp(src, flags)); Object.assign(regex, { as: regex }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/date.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/date.js var isDateLiteral = (value2) => typeof value2 === "string" && value2[0] === "d" && (value2[1] === "'" || value2[1] === '"') && value2[value2.length - 1] === value2[1]; var isValidDate = (d) => d.toString() !== "Invalid Date"; var extractDateLiteralSource = (literal3) => literal3.slice(2, -1); @@ -139369,7 +137444,7 @@ var maybeParseDate = (source, errorOnFail) => { return errorOnFail ? throwParseError(errorOnFail === true ? writeInvalidDateMessage(source) : errorOnFail) : void 0; }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/enclosed.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/enclosed.js var regexExecArray = rootSchema({ proto: "Array", sequence: "string", @@ -139443,12 +137518,12 @@ var enclosingCharDescriptions = { }; var writeUnterminatedEnclosedMessage = (fragment, enclosingStart) => `${enclosingStart}${fragment} requires a closing ${enclosingCharDescriptions[enclosingTokens[enclosingStart]]}`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/ast/validate.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/ast/validate.js var writePrefixedPrivateReferenceMessage = (name) => `Private type references should not include '#'. Use '${name}' instead.`; var shallowOptionalMessage = "Optional definitions like 'string?' are only valid as properties in an object or tuple"; var shallowDefaultableMessage = "Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/tokens.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/tokens.js var terminatingChars = { "<": 1, ">": 1, @@ -139470,7 +137545,7 @@ var lookaheadIsFinalizing = (lookahead, unscanned) => lookahead === ">" ? unscan unscanned[1] === "=" ) : unscanned.trimStart() === "" || isKeyOf(unscanned.trimStart()[0], terminatingChars) : lookahead === "=" ? unscanned[0] !== "=" : lookahead === "," || lookahead === "?"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/genericArgs.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/genericArgs.js var parseGenericArgs = (name, g, s) => _parseGenericArgs(name, g, s, []); var _parseGenericArgs = (name, g, s, argNodes) => { const argState = s.parseUntilFinalizer(); @@ -139487,7 +137562,7 @@ var _parseGenericArgs = (name, g, s, argNodes) => { }; var writeInvalidGenericArgCountMessage = (name, params, argDefs) => `${name}<${params.join(", ")}> requires exactly ${params.length} args (got ${argDefs.length}${argDefs.length === 0 ? "" : `: ${argDefs.join(", ")}`})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/unenclosed.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/unenclosed.js var parseUnenclosed = (s) => { const token = s.scanner.shiftUntilLookahead(terminatingChars); if (token === "keyof") @@ -139535,10 +137610,10 @@ var writeMissingOperandMessage = (s) => { var writeMissingRightOperandMessage = (token, unscanned = "") => `Token '${token}' requires a right operand${unscanned ? ` before '${unscanned}'` : ""}`; var writeExpressionExpectedMessage = (unscanned) => `Expected an expression${unscanned ? ` before '${unscanned}'` : ""}`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/operand.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/operand.js var parseOperand = (s) => s.scanner.lookahead === "" ? s.error(writeMissingOperandMessage(s)) : s.scanner.lookahead === "(" ? s.shiftedBy(1).reduceGroupOpen() : s.scanner.lookaheadIsIn(enclosingChar) ? parseEnclosed(s, s.scanner.shift()) : s.scanner.lookaheadIsIn(whitespaceChars) ? parseOperand(s.shiftedBy(1)) : s.scanner.lookahead === "d" ? s.scanner.nextLookahead in enclosingQuote ? parseEnclosed(s, `${s.scanner.shift()}${s.scanner.shift()}`) : parseUnenclosed(s) : s.scanner.lookahead === "x" ? s.scanner.nextLookahead === "/" ? s.shiftedBy(2) && parseEnclosed(s, "x/") : parseUnenclosed(s) : parseUnenclosed(s); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/shared.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/reduce/shared.js var minComparators = { ">": true, ">=": true @@ -139558,7 +137633,7 @@ var writeOpenRangeMessage = (min, comparator) => `Left bounds are only valid whe var writeUnpairableComparatorMessage = (comparator) => `Left-bounded expressions must specify their limits using < or <= (was ${comparator})`; var writeMultipleLeftBoundsMessage = (openLimit, openComparator, limit, comparator) => `An expression may have at most one left bound (parsed ${openLimit}${invertedComparators[openComparator]}, ${limit}${invertedComparators[comparator]})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/bounds.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/bounds.js var parseBound = (s, start) => { const comparator = shiftComparator(s, start); if (s.root.hasKind("unit")) { @@ -139629,14 +137704,14 @@ var parseRightBound = (s, comparator) => { }; var writeInvalidLimitMessage = (comparator, limit, boundKind) => `Comparator ${boundKind === "left" ? invertedComparators[comparator] : comparator} must be ${boundKind === "left" ? "preceded" : "followed"} by a corresponding literal (was ${limit})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/brand.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/brand.js var parseBrand = (s) => { s.scanner.shiftUntilNonWhitespace(); const brandName = s.scanner.shiftUntilLookahead(terminatingChars); s.root = s.root.brand(brandName); }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/divisor.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/divisor.js var parseDivisor = (s) => { s.scanner.shiftUntilNonWhitespace(); const divisorToken = s.scanner.shiftUntilLookahead(terminatingChars); @@ -139649,7 +137724,7 @@ var parseDivisor = (s) => { }; var writeInvalidDivisorMessage = (divisor) => `% operator must be followed by a non-zero integer literal (was ${divisor})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/operator.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/operator.js var parseOperator = (s) => { const lookahead = s.scanner.shift(); return lookahead === "" ? s.finalize("") : lookahead === "[" ? s.scanner.shift() === "]" ? s.setRoot(s.root.array()) : s.error(incompleteArrayTokenMessage) : lookahead === "|" ? s.scanner.lookahead === ">" ? s.shiftedBy(1).pushRootToBranch("|>") : s.pushRootToBranch(lookahead) : lookahead === "&" ? s.pushRootToBranch(lookahead) : lookahead === ")" ? s.finalizeGroup() : lookaheadIsFinalizing(lookahead, s.scanner.unscanned) ? s.finalize(lookahead) : isKeyOf(lookahead, comparatorStartChars) ? parseBound(s, lookahead) : lookahead === "%" ? parseDivisor(s) : lookahead === "#" ? parseBrand(s) : lookahead in whitespaceChars ? parseOperator(s) : s.error(writeUnexpectedCharacterMessage(lookahead)); @@ -139657,7 +137732,7 @@ var parseOperator = (s) => { var writeUnexpectedCharacterMessage = (char, shouldBe = "") => `'${char}' is not allowed here${shouldBe && ` (should be ${shouldBe})`}`; var incompleteArrayTokenMessage = `Missing expected ']'`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/default.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/default.js var parseDefault = (s) => { const baseNode = s.unsetRoot(); s.parseOperand(); @@ -139669,7 +137744,7 @@ var parseDefault = (s) => { }; var writeNonLiteralDefaultMessage = (defaultDef) => `Default value '${defaultDef}' must be a literal value`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/string.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/string.js var parseString = (def, ctx) => { const aliasResolution = ctx.$.maybeResolveRoot(def); if (aliasResolution) @@ -139708,7 +137783,7 @@ var parseUntilFinalizer = (s) => { }; var next = (s) => s.hasRoot() ? s.parseOperator() : s.parseOperand(); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/dynamic.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/reduce/dynamic.js var RuntimeState = class _RuntimeState { root; branches = { @@ -139845,7 +137920,7 @@ var RuntimeState = class _RuntimeState { } }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/generic.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/generic.js var emptyGenericParameterMessage = "An empty string is not a valid generic parameter name"; var parseGenericParamName = (scanner, result, ctx) => { scanner.shiftUntilNonWhitespace(); @@ -139874,7 +137949,7 @@ var _parseOptionalConstraint = (scanner, name, result, ctx) => { return parseGenericParamName(scanner, result, ctx); }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/fn.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/fn.js var InternalFnParser = class extends Callable { constructor($2) { const attach = { @@ -139901,18 +137976,18 @@ var InternalTypedFn = class extends Callable { params; returns; expression; - constructor(raw, params, returns) { - const typedName = `typed ${raw.name}`; + constructor(raw2, params, returns) { + const typedName = `typed ${raw2.name}`; const typed = { // assign to a key with the expected name to force it to be created that way [typedName]: (...args2) => { const validatedArgs = params.assert(args2); - const returned = raw(...validatedArgs); + const returned = raw2(...validatedArgs); return returns.assert(returned); } }[typedName]; super(typed); - this.raw = raw; + this.raw = raw2; this.params = params; this.returns = returns; let argsExpression = params.expression; @@ -139926,7 +138001,7 @@ var InternalTypedFn = class extends Callable { var badFnReturnTypeMessage = `":" must be followed by exactly one return type e.g: fn("string", ":", "number")(s => s.length)`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/match.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/match.js var InternalMatchParser = class extends Callable { $; constructor($2) { @@ -140019,7 +138094,7 @@ var throwOnDefault = (errors) => errors.throw(); var chainedAtMessage = `A key matcher must be specified before the first case i.e. match.at('foo') or match.in().at('bar')`; var doubleAtMessage = `At most one key matcher may be specified per expression`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/property.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/property.js var parseProperty = (def, ctx) => { if (isArray(def)) { if (def[1] === "=") @@ -140032,7 +138107,7 @@ var parseProperty = (def, ctx) => { var invalidOptionalKeyKindMessage = `Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`; var invalidDefaultableKeyKindMessage = `Only required keys may specify default values, e.g. { value: 'number = 0' }`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/objectLiteral.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/objectLiteral.js var parseObjectLiteral = (def, ctx) => { let spread; const structure = {}; @@ -140122,7 +138197,7 @@ var preparseKey = (key) => typeof key === "symbol" ? { kind: "required", normali }; var writeInvalidSpreadTypeMessage = (def) => `Spread operand must resolve to an object literal type (was ${def})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleExpressions.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/tupleExpressions.js var maybeParseTupleExpression = (def, ctx) => isIndexZeroExpression(def) ? indexZeroParsers[def[0]](def, ctx) : isIndexOneExpression(def) ? indexOneParsers[def[1]](def, ctx) : null; var parseKeyOfTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[1], ctx).keyof(); var parseBranchTuple = (def, ctx) => { @@ -140185,7 +138260,7 @@ var indexZeroParsers = defineIndexZeroParsers({ var isIndexZeroExpression = (def) => indexZeroParsers[def[0]] !== void 0; var writeInvalidConstructorMessage = (actual) => `Expected a constructor following 'instanceof' operator (was ${actual})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleLiteral.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/tupleLiteral.js var parseTupleLiteral = (def, ctx) => { let sequences = [{}]; let i = 0; @@ -140287,7 +138362,7 @@ var requiredPostOptionalMessage = "A required element may not follow an optional var optionalOrDefaultableAfterVariadicMessage = "An optional element may not follow a variadic element"; var defaultablePostOptionalMessage = "A defaultable element may not follow an optional element without a default"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/definition.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/definition.js var parseCache = {}; var parseInnerDefinition = (def, ctx) => { if (typeof def === "string") { @@ -140351,7 +138426,7 @@ var parseStandardSchema = (def, ctx) => ctx.$.intrinsic.unknown.pipe((v, ctx2) = var parseTuple = (def, ctx) => maybeParseTupleExpression(def, ctx) ?? parseTupleLiteral(def, ctx); var writeBadDefinitionTypeMessage = (actual) => `Type definitions must be strings or objects (was ${actual})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/type.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/type.js var InternalTypeParser = class extends Callable { constructor($2) { const attach = Object.assign( @@ -140398,7 +138473,7 @@ var InternalTypeParser = class extends Callable { } }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/scope.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/scope.js var $arkTypeRegistry = $ark; var InternalScope = class _InternalScope extends BaseScope { get ambientAttachments() { @@ -140493,7 +138568,7 @@ var scope = Object.assign(InternalScope.scope, { }); var Scope = InternalScope; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/builtins.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/builtins.js var MergeHkt = class extends Hkt { description = 'merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'; }; @@ -140503,7 +138578,7 @@ var arkBuiltins = Scope.module({ Merge }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/Array.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/Array.js var liftFromHkt = class extends Hkt { }; var liftFrom = genericNode("element")((args2) => { @@ -140520,7 +138595,7 @@ var arkArray = Scope.module({ name: "Array" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/FormData.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/FormData.js var value = rootSchema(["string", registry.FileConstructor]); var parsedFormDataValue = value.rawOr(value.array()); var parsed = rootSchema({ @@ -140557,7 +138632,7 @@ var arkFormData = Scope.module({ name: "FormData" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/TypedArray.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/TypedArray.js var TypedArray = Scope.module({ Int8: ["instanceof", Int8Array], Uint8: ["instanceof", Uint8Array], @@ -140574,7 +138649,7 @@ var TypedArray = Scope.module({ name: "TypedArray" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/constructors.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/constructors.js var omittedPrototypes = { Boolean: 1, Number: 1, @@ -140587,7 +138662,7 @@ var arkPrototypes = Scope.module({ FormData: arkFormData }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/number.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/number.js var epoch = rootSchema({ domain: { domain: "number", @@ -140630,7 +138705,7 @@ var number6 = Scope.module({ name: "number" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/string.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/string.js var regexStringNode = (regex4, description, jsonSchemaFormat) => { const schema2 = { domain: "string", @@ -141037,7 +139112,7 @@ var string5 = Scope.module({ name: "string" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/ts.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/ts.js var arkTsKeywords = Scope.module({ bigint: intrinsic.bigint, boolean: intrinsic.boolean, @@ -141118,7 +139193,7 @@ var arkTsGenerics = Scope.module({ Required: Required2 }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/keywords.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/keywords.js var ark = scope({ ...arkTsKeywords, ...arkTsGenerics, @@ -141157,7 +139232,7 @@ var type = Object.assign( // registry when their TypeParsers are instantiated $arkTypeRegistry.typeAttachments ); -var match = ark.match; +var match2 = ark.match; var fn = ark.fn; var generic = ark.generic; var schema = ark.schema; @@ -141878,21 +139953,22 @@ function sanitizeSchema(schema2) { return sanitized; } function wrapSchema(schema2) { - const originalToJsonSchema = schema2.toJsonSchema?.bind(schema2); - if (!originalToJsonSchema) { + const standardProps = schema2["~standard"]; + if (!("jsonSchema" in standardProps)) { return schema2; } - return new Proxy(schema2, { - get(target, prop) { - if (prop === "toJsonSchema") { - return () => { - const originalSchema = originalToJsonSchema(); - return sanitizeSchema(originalSchema); - }; + const jsonSchema2 = standardProps.jsonSchema; + const wrapped = { + ...schema2, + "~standard": { + ...standardProps, + jsonSchema: { + input: (options) => sanitizeSchema(jsonSchema2.input(options)), + output: (options) => sanitizeSchema(jsonSchema2.output(options)) } - return target[prop]; } - }); + }; + return wrapped; } function sanitizeTool(tool2) { if (!tool2.parameters) { @@ -145840,15 +143916,15 @@ function isLocalUrl(url4) { return url4.hostname === "localhost" || url4.hostname === "127.0.0.1"; } function getApiUrl() { - const raw = process.env.API_URL || "https://pullfrog.com"; - const parsed2 = new URL(raw); + const raw2 = process.env.API_URL || "https://pullfrog.com"; + const parsed2 = new URL(raw2); if (parsed2.protocol !== "https:" && !isLocalUrl(parsed2)) { throw new Error( `API_URL must use https:// (got ${parsed2.protocol}). only localhost is exempt.` ); } - log.debug(`resolved API_URL: ${raw}`); - return raw; + log.debug(`resolved API_URL: ${raw2}`); + return raw2; } // utils/apiFetch.ts @@ -147552,12 +145628,12 @@ var INSTALL_METADATA = { }; // node_modules/.pnpm/package-manager-detector@1.6.0/node_modules/package-manager-detector/dist/detect.mjs -import fs from "node:fs/promises"; +import fs2 from "node:fs/promises"; import path from "node:path"; import process4 from "node:process"; async function pathExists(path22, type2) { try { - const stat = await fs.stat(path22); + const stat = await fs2.stat(path22); return type2 === "file" ? stat.isFile() : stat.isDirectory(); } catch { return false; @@ -147645,7 +145721,7 @@ function getNameAndVer(pkg) { } async function handlePackageManager(filepath, options) { try { - const content = await fs.readFile(filepath, "utf8"); + const content = await fs2.readFile(filepath, "utf8"); const pkg = options.packageJsonParser ? await options.packageJsonParser(content, filepath) : JSON.parse(content); let agent2; const nameAndVer = getNameAndVer(pkg); @@ -148236,12 +146312,12 @@ function FileReadTool(_ctx) { parameters: FileReadParams, execute: execute(async (params) => { const resolved = resolveReadPath(params.path); - const raw = readFileSync3(resolved, "utf-8"); - const lines = raw.split("\n"); + const raw2 = readFileSync3(resolved, "utf-8"); + const lines = raw2.split("\n"); const offset = params.offset; const limit = params.limit; if (offset === void 0 && limit === void 0) { - return { content: raw }; + return { content: raw2 }; } const oneBasedOffset = offset ?? 1; const start = Math.max(0, oneBasedOffset - 1); @@ -148769,7 +146845,7 @@ function AddLabelsTool(ctx) { } // mcp/output.ts -var import_ajv3 = __toESM(require_ajv3(), 1); +var import_ajv3 = __toESM(require_ajv(), 1); var SetOutputParams = type({ value: type.string.describe("the output value to expose as a GitHub Action output") }); @@ -148782,9 +146858,11 @@ function jsonSchemaToStandardSchema({ return { "~standard": { version: 1, - // xsschema (used by fastmcp) hardcodes supported vendors instead of duck-typing toJsonSchema(). - // "arktype" works because its converter is just `(schema) => schema.toJsonSchema()`. - vendor: "arktype", + vendor: "json-schema", + jsonSchema: { + input: () => jsonSchema2, + output: () => jsonSchema2 + }, validate(input) { if (validate2(input)) { return { value: input }; @@ -148796,9 +146874,6 @@ function jsonSchemaToStandardSchema({ })) }; } - }, - toJsonSchema() { - return jsonSchema2; } }; } @@ -150084,7 +148159,7 @@ function KillBackgroundTool(ctx) { } // mcp/upload.ts -import * as fs2 from "node:fs"; +import * as fs3 from "node:fs"; import * as path2 from "node:path"; init_file_type(); var UploadFileParams = type({ @@ -150096,7 +148171,7 @@ function UploadFileTool(ctx) { description: "upload a file to get a permanent public URL. use for screenshots, artifacts, or any files you want to reference in PRs/comments. max 10MB, images/text/archives allowed.", parameters: UploadFileParams, execute: execute(async (params) => { - const buffer = fs2.readFileSync(params.path); + const buffer = fs3.readFileSync(params.path); const filename = path2.basename(params.path); const contentLength = buffer.length; const fileType = await fileTypeFromBuffer(buffer); @@ -150673,14 +148748,14 @@ var package_default = { "@octokit/webhooks-types": "^7.6.1", "@openai/codex-sdk": "0.98.0", "@opencode-ai/sdk": "^1.0.143", - "@standard-schema/spec": "1.0.0", + "@standard-schema/spec": "1.1.0", "@toon-format/toon": "^1.0.0", ajv: "^8.18.0", arkregex: "0.0.5", - arktype: "2.1.29", + arktype: "2.2.0", dotenv: "^17.2.3", execa: "^9.6.0", - fastmcp: "^3.26.8", + fastmcp: "^3.34.0", "file-type": "^21.3.0", "package-manager-detector": "^1.6.0", semver: "^7.7.3", @@ -153525,11 +151600,11 @@ async function setupGit(params) { var TIMEOUT_DISABLED = "none"; var TIME_STRING_REGEX = /^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/; function parseTimeString(input) { - const match2 = input.match(TIME_STRING_REGEX); - if (!match2 || !match2[1] && !match2[2] && !match2[3]) return null; - const hours = parseInt(match2[1] || "0", 10); - const minutes = parseInt(match2[2] || "0", 10); - const seconds = parseInt(match2[3] || "0", 10); + const match3 = input.match(TIME_STRING_REGEX); + if (!match3 || !match3[1] && !match3[2] && !match3[3]) return null; + const hours = parseInt(match3[1] || "0", 10); + const minutes = parseInt(match3[2] || "0", 10); + const seconds = parseInt(match3[3] || "0", 10); return (hours * 3600 + minutes * 60 + seconds) * 1e3; } @@ -153560,11 +151635,11 @@ async function resolveRun(params) { // main.ts function resolveOutputSchema() { - const raw = core5.getInput("output_schema"); - if (!raw) return void 0; + const raw2 = core5.getInput("output_schema"); + if (!raw2) return void 0; let parsed2; try { - parsed2 = JSON.parse(raw); + parsed2 = JSON.parse(raw2); } catch { throw new Error(`invalid output_schema: not valid JSON`); } @@ -153816,7 +151891,7 @@ ieee754/index.js: * found in the LICENSE file at https://angular.io/license *) -mcp-proxy/dist/stdio-DBuYn6eo.mjs: +mcp-proxy/dist/stdio-vt8L9uwX.mjs: (*! * bytes * Copyright(c) 2012-2014 TJ Holowaychuk diff --git a/mcp/output.ts b/mcp/output.ts index 5629538..932cec8 100644 --- a/mcp/output.ts +++ b/mcp/output.ts @@ -1,4 +1,4 @@ -import type { StandardSchemaV1 } from "@standard-schema/spec"; +import type { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec"; import { Ajv } from "ajv"; import { type } from "arktype"; import { log } from "../utils/cli.ts"; @@ -14,16 +14,18 @@ type JsonSchema = Record; function jsonSchemaToStandardSchema({ $schema: _, ...jsonSchema -}: JsonSchema): StandardSchemaV1 & { toJsonSchema(): JsonSchema } { +}: JsonSchema): StandardJSONSchemaV1 & StandardSchemaV1 { const ajv = new Ajv(); const validate = ajv.compile(jsonSchema); return { "~standard": { version: 1, - // xsschema (used by fastmcp) hardcodes supported vendors instead of duck-typing toJsonSchema(). - // "arktype" works because its converter is just `(schema) => schema.toJsonSchema()`. - vendor: "arktype", + vendor: "json-schema", + jsonSchema: { + input: () => jsonSchema, + output: () => jsonSchema, + }, validate(input: unknown) { if (validate(input)) { return { value: input }; @@ -36,9 +38,6 @@ function jsonSchemaToStandardSchema({ }; }, }, - toJsonSchema() { - return jsonSchema; - }, }; } diff --git a/mcp/shared.ts b/mcp/shared.ts index dc12082..12b1bd2 100644 --- a/mcp/shared.ts +++ b/mcp/shared.ts @@ -1,4 +1,4 @@ -import type { StandardSchemaV1 } from "@standard-schema/spec"; +import type { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec"; import { encode as toonEncode } from "@toon-format/toon"; import type { FastMCP, Tool } from "fastmcp"; import { formatJsonValue, log } from "../utils/cli.ts"; @@ -141,27 +141,34 @@ function sanitizeSchema(schema: any): any { } /** - * Wrap a StandardSchemaV1 to intercept toJsonSchema() calls and sanitize the output + * Wrap a schema to sanitize its JSON Schema output for Gemini/OpenCode compatibility. + * xsschema calls ~standard.jsonSchema.input() for schemas that implement StandardJSONSchemaV1 + * (i.e. have ~standard.jsonSchema), which includes arktype and our AJV-backed JSON schema wrapper. + * Schemas without ~standard.jsonSchema are returned unchanged (sanitization skipped). */ -function wrapSchema(schema: StandardSchemaV1): StandardSchemaV1 { - const originalToJsonSchema = (schema as any).toJsonSchema?.bind(schema); +function wrapSchema( + schema: StandardSchemaV1 & { + "~standard": Partial["~standard"]>; + } +): StandardSchemaV1 { + const standardProps = schema["~standard"]; - if (!originalToJsonSchema) { + if (!("jsonSchema" in standardProps)) { return schema; } - // create a proxy that intercepts toJsonSchema calls - return new Proxy(schema, { - get(target, prop) { - if (prop === "toJsonSchema") { - return () => { - const originalSchema = originalToJsonSchema(); - return sanitizeSchema(originalSchema); - }; - } - return (target as any)[prop]; + const jsonSchema = standardProps.jsonSchema; + const wrapped: StandardSchemaV1 & StandardJSONSchemaV1 = { + ...schema, + "~standard": { + ...standardProps, + jsonSchema: { + input: (options) => sanitizeSchema(jsonSchema.input(options)), + output: (options) => sanitizeSchema(jsonSchema.output(options)), + }, }, - }) as StandardSchemaV1; + }; + return wrapped; } /** @@ -172,7 +179,6 @@ function sanitizeTool>(tool: T): T { return tool; } - // wrap the schema object to intercept toJsonSchema() calls const wrappedSchema = wrapSchema(tool.parameters); // create a new tool with wrapped schema diff --git a/package.json b/package.json index 6cdc27c..43932c8 100644 --- a/package.json +++ b/package.json @@ -34,14 +34,14 @@ "@octokit/webhooks-types": "^7.6.1", "@openai/codex-sdk": "0.98.0", "@opencode-ai/sdk": "^1.0.143", - "@standard-schema/spec": "1.0.0", + "@standard-schema/spec": "1.1.0", "@toon-format/toon": "^1.0.0", "ajv": "^8.18.0", "arkregex": "0.0.5", - "arktype": "2.1.29", + "arktype": "2.2.0", "dotenv": "^17.2.3", "execa": "^9.6.0", - "fastmcp": "^3.26.8", + "fastmcp": "^3.34.0", "file-type": "^21.3.0", "package-manager-detector": "^1.6.0", "semver": "^7.7.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f27c9ef..398f8dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,7 +15,7 @@ importers: version: 1.11.1 '@anthropic-ai/claude-agent-sdk': specifier: 0.2.39 - version: 0.2.39(zod@4.3.5) + version: 0.2.39(zod@4.3.6) '@ark/fs': specifier: 0.56.0 version: 0.56.0 @@ -38,8 +38,8 @@ importers: specifier: ^1.0.143 version: 1.0.143 '@standard-schema/spec': - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.1.0 + version: 1.1.0 '@toon-format/toon': specifier: ^1.0.0 version: 1.4.0 @@ -50,8 +50,8 @@ importers: specifier: 0.0.5 version: 0.0.5 arktype: - specifier: 2.1.29 - version: 2.1.29 + specifier: 2.2.0 + version: 2.2.0 dotenv: specifier: ^17.2.3 version: 17.2.3 @@ -59,8 +59,8 @@ importers: specifier: ^9.6.0 version: 9.6.0 fastmcp: - specifier: ^3.26.8 - version: 3.26.8(arktype@2.1.29)(hono@4.11.3) + specifier: ^3.34.0 + version: 3.34.0(arktype@2.2.0) file-type: specifier: ^21.3.0 version: 21.3.0 @@ -79,7 +79,7 @@ importers: devDependencies: '@modelcontextprotocol/sdk': specifier: ^1.26.0 - version: 1.26.0(zod@4.3.5) + version: 1.26.0(zod@4.3.6) '@types/node': specifier: ^24.7.2 version: 24.7.2 @@ -150,8 +150,8 @@ packages: resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} - '@borewit/text-codec@0.1.1': - resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==} + '@borewit/text-codec@0.2.1': + resolution: {integrity: sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==} '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} @@ -469,8 +469,8 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@hono/node-server@1.19.7': - resolution: {integrity: sha512-vUcD0uauS7EU2caukW8z5lJKtoGMokxNbJtBiwHgpqxEXokaHCBkQUmCHhjFB1VUTWdqj25QoMkMKzgjq+uhrw==} + '@hono/node-server@1.19.11': + resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} engines: {node: '>=18.14.1'} peerDependencies: hono: ^4 @@ -570,8 +570,8 @@ packages: '@mixmark-io/domino@2.2.0': resolution: {integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==} - '@modelcontextprotocol/sdk@1.25.2': - resolution: {integrity: sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==} + '@modelcontextprotocol/sdk@1.26.0': + resolution: {integrity: sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -580,8 +580,8 @@ packages: '@cfworker/json-schema': optional: true - '@modelcontextprotocol/sdk@1.26.0': - resolution: {integrity: sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==} + '@modelcontextprotocol/sdk@1.27.1': + resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -799,6 +799,9 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@tokenizer/inflate@0.4.1': resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} engines: {node: '>=18'} @@ -856,6 +859,10 @@ packages: '@vitest/utils@4.0.17': resolution: {integrity: sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w==} + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} @@ -896,8 +903,8 @@ packages: arkregex@0.0.5: resolution: {integrity: sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw==} - arktype@2.1.29: - resolution: {integrity: sha512-jyfKk4xIOzvYNayqnD8ZJQqOwcrTOUbIU4293yrzAjA3O1dWh61j71ArMQ6tS/u4pD7vabSPe7nG3RCyoXW6RQ==} + arktype@2.2.0: + resolution: {integrity: sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ==} assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} @@ -907,13 +914,15 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + axios@1.13.6: + resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + before-after-hook@4.0.0: resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} - body-parser@2.2.2: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} engines: {node: '>=18'} @@ -948,9 +957,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + content-disposition@1.0.1: + resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} + engines: {node: '>=18'} content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} @@ -964,10 +977,18 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + cookies@0.9.1: + resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} + engines: {node: '>= 0.8'} + cors@2.8.5: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -981,10 +1002,28 @@ packages: supports-color: optional: true + deep-equal@1.0.1: + resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dotenv@17.2.3: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} @@ -1006,6 +1045,9 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -1021,6 +1063,10 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} @@ -1065,21 +1111,17 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} engines: {node: '>=12.0.0'} - express-rate-limit@7.5.1: - resolution: {integrity: sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==} - engines: {node: '>= 16'} - peerDependencies: - express: '>= 4.11' - express-rate-limit@8.2.1: resolution: {integrity: sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} + express-rate-limit@8.3.0: + resolution: {integrity: sha512-KJzBawY6fB9FiZGdE/0aftepZ91YlaGIrV8vgblRM3J8X+dHx/aiowJWwkx6LIGyuqGiANsjSwwrbb8mifOJ4Q==} + engines: {node: '>= 16'} + peerDependencies: + express: '>= 4.11' express@5.2.1: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} @@ -1094,8 +1136,8 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fastmcp@3.26.8: - resolution: {integrity: sha512-DQgvEdSoQpISqPDgLZe5K2RU8ICCz3/5QcEhHmz4KiNcNSdFOo7o817mGwWxPffOLe36vypCulq22cvEwqBi/A==} + fastmcp@3.34.0: + resolution: {integrity: sha512-xKOXjU+MK7OZy91BY3FS5aenSiclJBCRMaZtXb3HYaKZVFbq4qYvAlFu6xYI3UU1NGLtv+h8izoStnOQ1By0BA==} hasBin: true peerDependencies: jose: ^5.0.0 @@ -1120,14 +1162,31 @@ packages: resolution: {integrity: sha512-8kPJMIGz1Yt/aPEwOsrR97ZyZaD1Iqm8PClb1nYFclUCkBi0Ma5IsYNQzvSFS9ib51lWyIw5mIT9rWzI/xjpzA==} engines: {node: '>=20'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} + + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -1148,8 +1207,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -1172,22 +1231,41 @@ packages: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hono@4.11.3: - resolution: {integrity: sha512-PmQi306+M/ct/m5s66Hrg+adPnkD5jiO6IjA7WhWw0gSBSo1EcRegwuI1deZ+wd5pzCGynCcn2DprnE4/yEV4w==} - engines: {node: '>=16.9.0'} - hono@4.12.0: resolution: {integrity: sha512-NekXntS5M94pUfiVZ8oXXK/kkri+5WpX2/Ik+LVsl+uvw+soj4roXIsPqO+XsWrAw20mOzaXOZf3Q7PfB9A/IA==} engines: {node: '>=16.9.0'} + hono@4.12.5: + resolution: {integrity: sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==} + engines: {node: '>=16.9.0'} + + http-assert@1.5.0: + resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} + engines: {node: '>= 0.8'} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + human-readable-ids@1.0.4: + resolution: {integrity: sha512-h1zwThTims8A/SpqFGWyTx+jG1+WRMJaEeZgbtPGrIpj2AZjsOgy8Y+iNzJ0yAyN669Q6F02EK66WMWcst+2FA==} + human-signals@8.0.1: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} @@ -1197,14 +1275,14 @@ packages: engines: {node: '>=18'} hasBin: true - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - iconv-lite@0.7.0: resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1215,6 +1293,10 @@ packages: resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} engines: {node: '>= 12'} + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1244,6 +1326,9 @@ packages: jose@6.1.3: resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} + jose@6.2.0: + resolution: {integrity: sha512-xsfE1TcSCbUdo6U07tR0mvhg0flGxU8tPLbF03mirl2ukGQENhUg4ubGYQnhVH0b5stLlPM+WOqDkEl1R1y5sQ==} + json-schema-to-ts@3.1.1: resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==} engines: {node: '>=16'} @@ -1254,6 +1339,25 @@ packages: json-schema-typed@8.0.2: resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} + keygrip@1.1.0: + resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} + engines: {node: '>= 0.6'} + + knuth-shuffle@1.0.8: + resolution: {integrity: sha512-IdC4Hpp+mx53zTt6VAGsAtbGM0g4BV9fP8tTcviCosSwocHcRDw9uG5Rnv6wLWckF4r72qeXFoK9NkvV1gUJCQ==} + + koa-compose@4.1.0: + resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} + + koa-router@14.0.0: + resolution: {integrity: sha512-Ue8f/PRsLLNm6b7y+eS6xkqvsG2xH11d2VB1HPcfdfW6p5736kCHf2pXaq8q9XPQ01x0Dk7V/P5Il9pe+tGTxA==} + engines: {node: '>= 20'} + deprecated: 'Please use @koa/router instead, starting from v9! ' + + koa@3.1.2: + resolution: {integrity: sha512-2LOQnFKu3m0VxpE+5sb5+BRTSKrXmNxGgxVRiKwD9s5KQB1zID/FRXhtzeV7RT1L2GVpdEEAfVuclFOMGl1ikA==} + engines: {node: '>= 18'} + lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -1264,8 +1368,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mcp-proxy@5.12.5: - resolution: {integrity: sha512-Vawdc8vi36fXxKCaDpluRvbGcmrUXJdvXcDhkh30HYsws8XqX2rWPBflZpavzeS+6SwijRFV7g+9ypQRJZlrEQ==} + mcp-proxy@6.4.1: + resolution: {integrity: sha512-vzKLpJEZRqkbxz9sBqYSOWo9mJq0aGYQQLJoaMe+egYF/EA1PvcKvLx9pA1/bRpV/hfguEuB67gcs0C5KJiROQ==} hasBin: true media-typer@1.1.0: @@ -1276,14 +1380,22 @@ packages: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + mime-db@1.54.0: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1292,6 +1404,10 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + negotiator@1.0.0: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} @@ -1350,10 +1466,19 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pipenet@1.4.0: + resolution: {integrity: sha512-Uc3EH2i8hnJUD0Eupj9z2jaZPjjAbooaiHGh0iFdExbE8/BDt6Lf0919Dtwx5VM83elHNWFzCOsvzsViTD5YZg==} + engines: {node: '>=22.0.0'} + hasBin: true + pkce-challenge@5.0.0: resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} engines: {node: '>=16.20.0'} + pkce-challenge@5.0.1: + resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} + engines: {node: '>=16.20.0'} + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -1366,9 +1491,15 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pump@3.0.4: + resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} qs@6.15.0: resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} @@ -1382,6 +1513,10 @@ packages: resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==} engines: {node: '>= 0.10'} + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -1395,9 +1530,6 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -1406,12 +1538,12 @@ packages: engines: {node: '>=10'} hasBin: true - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} + send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} + serve-static@2.2.1: + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} setprototypeof@1.2.0: @@ -1459,6 +1591,10 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} @@ -1485,8 +1621,8 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} strip-final-newline@4.0.0: @@ -1516,17 +1652,25 @@ packages: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} + tldjs@2.3.2: + resolution: {integrity: sha512-EORDwFMSZKrHPUVDhejCMDeAovRS5d8jZKiqALFiPp3cjKjEldPkxBY39ZSx3c45awz3RpKwJD1cCgGxEfy8/A==} + engines: {node: '>= 20'} + toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - token-types@6.1.1: - resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} + token-types@6.1.2: + resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} ts-algebra@2.0.0: resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==} + tsscmp@1.0.6: + resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} + engines: {node: '>=0.6.x'} + tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} @@ -1554,8 +1698,8 @@ packages: resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} - undici@7.16.0: - resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} + undici@7.22.0: + resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==} engines: {node: '>=20.18.1'} unicorn-magic@0.3.0: @@ -1667,15 +1811,15 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xsschema@0.4.0-beta.5: - resolution: {integrity: sha512-73pYwf1hMy++7SnOkghJdgdPaGi+Y5I0SaO6rIlxb1ouV6tEyDbEcXP82kyr32KQVTlUbFj6qewi9eUVEiXm+g==} + xsschema@0.4.3: + resolution: {integrity: sha512-8MFtONewz49S+R5ZfOGfJzEaPAmJ+Gw1ILjvuerYG0mOMVYe7OrsVQNlpiUTct4L3toAJAKD5NMwmCfmTIGYHQ==} peerDependencies: '@valibot/to-json-schema': ^1.0.0 arktype: ^2.1.20 effect: ^3.16.0 sury: ^10.0.0 zod: ^3.25.0 || ^4.0.0 - zod-to-json-schema: ^3.24.5 + zod-to-json-schema: ^3.25.0 peerDependenciesMeta: '@valibot/to-json-schema': optional: true @@ -1716,8 +1860,8 @@ packages: peerDependencies: zod: ^3.25 || ^4 - zod@4.3.5: - resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} + zod@4.3.6: + resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} snapshots: @@ -1737,10 +1881,10 @@ snapshots: '@actions/io@1.1.3': {} - '@anthropic-ai/claude-agent-sdk@0.2.39(zod@4.3.5)': + '@anthropic-ai/claude-agent-sdk@0.2.39(zod@4.3.6)': dependencies: - '@anthropic-ai/sdk': 0.77.0(zod@4.3.5) - zod: 4.3.5 + '@anthropic-ai/sdk': 0.77.0(zod@4.3.6) + zod: 4.3.6 optionalDependencies: '@img/sharp-darwin-arm64': 0.33.5 '@img/sharp-darwin-x64': 0.33.5 @@ -1751,11 +1895,11 @@ snapshots: '@img/sharp-linuxmusl-x64': 0.33.5 '@img/sharp-win32-x64': 0.33.5 - '@anthropic-ai/sdk@0.77.0(zod@4.3.5)': + '@anthropic-ai/sdk@0.77.0(zod@4.3.6)': dependencies: json-schema-to-ts: 3.1.1 optionalDependencies: - zod: 4.3.5 + zod: 4.3.6 '@ark/fs@0.56.0': {} @@ -1767,7 +1911,7 @@ snapshots: '@babel/runtime@7.28.6': {} - '@borewit/text-codec@0.1.1': {} + '@borewit/text-codec@0.2.1': {} '@esbuild/aix-ppc64@0.25.12': optional: true @@ -1927,9 +2071,9 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@hono/node-server@1.19.7(hono@4.11.3)': + '@hono/node-server@1.19.11(hono@4.12.5)': dependencies: - hono: 4.11.3 + hono: 4.12.5 '@hono/node-server@1.19.9(hono@4.12.0)': dependencies: @@ -1998,29 +2142,7 @@ snapshots: '@mixmark-io/domino@2.2.0': {} - '@modelcontextprotocol/sdk@1.25.2(hono@4.11.3)(zod@4.3.5)': - dependencies: - '@hono/node-server': 1.19.7(hono@4.11.3) - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.1(express@5.1.0) - jose: 6.1.3 - json-schema-typed: 8.0.2 - pkce-challenge: 5.0.0 - raw-body: 3.0.1 - zod: 4.3.5 - zod-to-json-schema: 3.25.1(zod@4.3.5) - transitivePeerDependencies: - - hono - - supports-color - - '@modelcontextprotocol/sdk@1.26.0(zod@4.3.5)': + '@modelcontextprotocol/sdk@1.26.0(zod@4.3.6)': dependencies: '@hono/node-server': 1.19.9(hono@4.12.0) ajv: 8.17.1 @@ -2037,8 +2159,30 @@ snapshots: json-schema-typed: 8.0.2 pkce-challenge: 5.0.0 raw-body: 3.0.1 - zod: 4.3.5 - zod-to-json-schema: 3.25.1(zod@4.3.5) + zod: 4.3.6 + zod-to-json-schema: 3.25.1(zod@4.3.6) + transitivePeerDependencies: + - supports-color + + '@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)': + dependencies: + '@hono/node-server': 1.19.11(hono@4.12.5) + ajv: 8.18.0 + ajv-formats: 3.0.1(ajv@8.18.0) + content-type: 1.0.5 + cors: 2.8.6 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.6 + express: 5.2.1 + express-rate-limit: 8.3.0(express@5.2.1) + hono: 4.12.5 + jose: 6.2.0 + json-schema-typed: 8.0.2 + pkce-challenge: 5.0.1 + raw-body: 3.0.2 + zod: 4.3.6 + zod-to-json-schema: 3.25.1(zod@4.3.6) transitivePeerDependencies: - supports-color @@ -2203,10 +2347,12 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@standard-schema/spec@1.1.0': {} + '@tokenizer/inflate@0.4.1': dependencies: debug: 4.4.3 - token-types: 6.1.1 + token-types: 6.1.2 transitivePeerDependencies: - supports-color @@ -2270,15 +2416,24 @@ snapshots: '@vitest/pretty-format': 4.0.17 tinyrainbow: 3.0.3 + accepts@1.3.8: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + accepts@2.0.0: dependencies: - mime-types: 3.0.1 + mime-types: 3.0.2 negotiator: 1.0.0 ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 + ajv-formats@3.0.1(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -2309,7 +2464,7 @@ snapshots: dependencies: '@ark/util': 0.56.0 - arktype@2.1.29: + arktype@2.2.0: dependencies: '@ark/schema': 0.56.0 '@ark/util': 0.56.0 @@ -2319,32 +2474,28 @@ snapshots: astral-regex@2.0.0: {} - before-after-hook@4.0.0: {} + asynckit@0.4.0: {} - body-parser@2.2.0: + axios@1.13.6(debug@4.4.3): dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.3 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.1 - type-is: 2.0.1 + follow-redirects: 1.15.11(debug@4.4.3) + form-data: 4.0.5 + proxy-from-env: 1.1.0 transitivePeerDependencies: - - supports-color + - debug + + before-after-hook@4.0.0: {} body-parser@2.2.2: dependencies: bytes: 3.1.2 content-type: 1.0.5 debug: 4.4.3 - http-errors: 2.0.0 - iconv-lite: 0.7.0 + http-errors: 2.0.1 + iconv-lite: 0.7.2 on-finished: 2.4.1 qs: 6.15.0 - raw-body: 3.0.1 + raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: - supports-color @@ -2368,7 +2519,7 @@ snapshots: cliui@9.0.1: dependencies: string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrap-ansi: 9.0.2 color-convert@2.0.1: @@ -2377,9 +2528,11 @@ snapshots: color-name@1.1.4: {} - content-disposition@1.0.0: + combined-stream@1.0.8: dependencies: - safe-buffer: 5.2.1 + delayed-stream: 1.0.0 + + content-disposition@1.0.1: {} content-type@1.0.5: {} @@ -2387,11 +2540,21 @@ snapshots: cookie@0.7.2: {} + cookies@0.9.1: + dependencies: + depd: 2.0.0 + keygrip: 1.1.0 + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -2402,8 +2565,18 @@ snapshots: dependencies: ms: 2.1.3 + deep-equal@1.0.1: {} + + delayed-stream@1.0.0: {} + + delegates@1.0.0: {} + + depd@1.1.2: {} + depd@2.0.0: {} + destroy@1.2.0: {} + dotenv@17.2.3: {} dunder-proto@1.0.1: @@ -2420,6 +2593,10 @@ snapshots: encodeurl@2.0.0: {} + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -2430,6 +2607,13 @@ snapshots: dependencies: es-errors: 1.3.0 + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + esbuild@0.25.12: optionalDependencies: '@esbuild/aix-ppc64': 0.25.12 @@ -2536,52 +2720,21 @@ snapshots: expect-type@1.3.0: {} - express-rate-limit@7.5.1(express@5.1.0): - dependencies: - express: 5.1.0 - express-rate-limit@8.2.1(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.0.1 - express@5.1.0: + express-rate-limit@8.3.0(express@5.2.1): dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.2 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + express: 5.2.1 + ip-address: 10.1.0 express@5.2.1: dependencies: accepts: 2.0.0 body-parser: 2.2.2 - content-disposition: 1.0.0 + content-disposition: 1.0.1 content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 @@ -2590,20 +2743,20 @@ snapshots: encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 2.1.0 + finalhandler: 2.1.1 fresh: 2.0.0 - http-errors: 2.0.0 + http-errors: 2.0.1 merge-descriptors: 2.0.0 - mime-types: 3.0.1 + mime-types: 3.0.2 on-finished: 2.4.1 once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.0 + qs: 6.15.0 range-parser: 1.2.1 router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 + send: 1.2.1 + serve-static: 2.2.1 statuses: 2.0.2 type-is: 2.0.1 vary: 1.1.2 @@ -2616,27 +2769,27 @@ snapshots: fast-uri@3.1.0: {} - fastmcp@3.26.8(arktype@2.1.29)(hono@4.11.3): + fastmcp@3.34.0(arktype@2.2.0): dependencies: - '@modelcontextprotocol/sdk': 1.25.2(hono@4.11.3)(zod@4.3.5) - '@standard-schema/spec': 1.0.0 + '@modelcontextprotocol/sdk': 1.27.1(zod@4.3.6) + '@standard-schema/spec': 1.1.0 execa: 9.6.1 file-type: 21.3.0 fuse.js: 7.1.0 - mcp-proxy: 5.12.5 + hono: 4.12.5 + mcp-proxy: 6.4.1 strict-event-emitter-types: 2.0.0 - undici: 7.16.0 + undici: 7.22.0 uri-templates: 0.2.0 - xsschema: 0.4.0-beta.5(arktype@2.1.29)(zod-to-json-schema@3.25.1(zod@4.3.5))(zod@4.3.5) + xsschema: 0.4.3(arktype@2.2.0)(zod-to-json-schema@3.25.1(zod@4.3.6))(zod@4.3.6) yargs: 18.0.0 - zod: 4.3.5 - zod-to-json-schema: 3.25.1(zod@4.3.5) + zod: 4.3.6 + zod-to-json-schema: 3.25.1(zod@4.3.6) transitivePeerDependencies: - '@cfworker/json-schema' - '@valibot/to-json-schema' - arktype - effect - - hono - supports-color - sury @@ -2652,12 +2805,12 @@ snapshots: dependencies: '@tokenizer/inflate': 0.4.1 strtok3: 10.3.4 - token-types: 6.1.1 + token-types: 6.1.2 uint8array-extras: 1.5.0 transitivePeerDependencies: - supports-color - finalhandler@2.1.0: + finalhandler@2.1.1: dependencies: debug: 4.4.3 encodeurl: 2.0.0 @@ -2668,8 +2821,22 @@ snapshots: transitivePeerDependencies: - supports-color + follow-redirects@1.15.11(debug@4.4.3): + optionalDependencies: + debug: 4.4.3 + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + forwarded@0.2.0: {} + fresh@0.5.2: {} + fresh@2.0.0: {} fsevents@2.3.3: @@ -2681,7 +2848,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.5.0: {} get-intrinsic@1.3.0: dependencies: @@ -2710,14 +2877,31 @@ snapshots: has-symbols@1.1.0: {} + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + hasown@2.0.2: dependencies: function-bind: 1.1.2 - hono@4.11.3: {} - hono@4.12.0: {} + hono@4.12.5: {} + + http-assert@1.5.0: + dependencies: + deep-equal: 1.0.1 + http-errors: 1.8.1 + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -2726,15 +2910,27 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + + human-readable-ids@1.0.4: + dependencies: + knuth-shuffle: 1.0.8 + human-signals@8.0.1: {} husky@9.1.7: {} - iconv-lite@0.6.3: + iconv-lite@0.7.0: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.0: + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -2744,6 +2940,8 @@ snapshots: ip-address@10.0.1: {} + ip-address@10.1.0: {} + ipaddr.js@1.9.1: {} is-fullwidth-code-point@3.0.0: {} @@ -2760,6 +2958,8 @@ snapshots: jose@6.1.3: {} + jose@6.2.0: {} + json-schema-to-ts@3.1.1: dependencies: '@babel/runtime': 7.28.6 @@ -2769,6 +2969,44 @@ snapshots: json-schema-typed@8.0.2: {} + keygrip@1.1.0: + dependencies: + tsscmp: 1.0.6 + + knuth-shuffle@1.0.8: {} + + koa-compose@4.1.0: {} + + koa-router@14.0.0: + dependencies: + debug: 4.4.3 + http-errors: 2.0.1 + koa-compose: 4.1.0 + path-to-regexp: 8.3.0 + transitivePeerDependencies: + - supports-color + + koa@3.1.2: + dependencies: + accepts: 1.3.8 + content-disposition: 1.0.1 + content-type: 1.0.5 + cookies: 0.9.1 + delegates: 1.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + fresh: 0.5.2 + http-assert: 1.5.0 + http-errors: 2.0.1 + koa-compose: 4.1.0 + mime-types: 3.0.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + type-is: 2.0.1 + vary: 1.1.2 + lodash.truncate@4.4.2: {} magic-string@0.30.21: @@ -2777,15 +3015,25 @@ snapshots: math-intrinsics@1.1.0: {} - mcp-proxy@5.12.5: {} + mcp-proxy@6.4.1: + dependencies: + pipenet: 1.4.0 + transitivePeerDependencies: + - supports-color media-typer@1.1.0: {} merge-descriptors@2.0.0: {} + mime-db@1.52.0: {} + mime-db@1.54.0: {} - mime-types@3.0.1: + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime-types@3.0.2: dependencies: mime-db: 1.54.0 @@ -2793,6 +3041,8 @@ snapshots: nanoid@3.3.11: {} + negotiator@0.6.3: {} + negotiator@1.0.0: {} npm-run-path@6.0.0: @@ -2832,8 +3082,23 @@ snapshots: picomatch@4.0.3: {} + pipenet@1.4.0: + dependencies: + axios: 1.13.6(debug@4.4.3) + debug: 4.4.3 + human-readable-ids: 1.0.4 + koa: 3.1.2 + koa-router: 14.0.0 + pump: 3.0.4 + tldjs: 2.3.2 + yargs: 18.0.0 + transitivePeerDependencies: + - supports-color + pkce-challenge@5.0.0: {} + pkce-challenge@5.0.1: {} + postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -2849,9 +3114,14 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - qs@6.14.0: + proxy-from-env@1.1.0: {} + + pump@3.0.4: dependencies: - side-channel: 1.1.0 + end-of-stream: 1.4.5 + once: 1.4.0 + + punycode@2.3.1: {} qs@6.15.0: dependencies: @@ -2866,6 +3136,13 @@ snapshots: iconv-lite: 0.7.0 unpipe: 1.0.0 + raw-body@3.0.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.7.2 + unpipe: 1.0.0 + require-from-string@2.0.2: {} rollup@4.55.1: @@ -2909,21 +3186,19 @@ snapshots: transitivePeerDependencies: - supports-color - safe-buffer@5.2.1: {} - safer-buffer@2.1.2: {} semver@7.7.3: {} - send@1.2.0: + send@1.2.1: dependencies: debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 + http-errors: 2.0.1 + mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 @@ -2931,12 +3206,12 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@2.2.0: + serve-static@2.2.1: dependencies: encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 1.2.0 + send: 1.2.1 transitivePeerDependencies: - supports-color @@ -2990,6 +3265,8 @@ snapshots: stackback@0.0.2: {} + statuses@1.5.0: {} + statuses@2.0.1: {} statuses@2.0.2: {} @@ -3007,14 +3284,14 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.2: + strip-ansi@7.2.0: dependencies: ansi-regex: 6.2.2 @@ -3043,16 +3320,22 @@ snapshots: tinyrainbow@3.0.3: {} + tldjs@2.3.2: + dependencies: + punycode: 2.3.1 + toidentifier@1.0.1: {} - token-types@6.1.1: + token-types@6.1.2: dependencies: - '@borewit/text-codec': 0.1.1 + '@borewit/text-codec': 0.2.1 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 ts-algebra@2.0.0: {} + tsscmp@1.0.6: {} + tunnel@0.0.6: {} turndown@7.2.2: @@ -3063,7 +3346,7 @@ snapshots: dependencies: content-type: 1.0.5 media-typer: 1.1.0 - mime-types: 3.0.1 + mime-types: 3.0.2 typescript@5.9.3: {} @@ -3075,7 +3358,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - undici@7.16.0: {} + undici@7.22.0: {} unicorn-magic@0.3.0: {} @@ -3150,15 +3433,15 @@ snapshots: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrappy@1.0.2: {} - xsschema@0.4.0-beta.5(arktype@2.1.29)(zod-to-json-schema@3.25.1(zod@4.3.5))(zod@4.3.5): + xsschema@0.4.3(arktype@2.2.0)(zod-to-json-schema@3.25.1(zod@4.3.6))(zod@4.3.6): optionalDependencies: - arktype: 2.1.29 - zod: 4.3.5 - zod-to-json-schema: 3.25.1(zod@4.3.5) + arktype: 2.2.0 + zod: 4.3.6 + zod-to-json-schema: 3.25.1(zod@4.3.6) y18n@5.0.8: {} @@ -3177,8 +3460,8 @@ snapshots: yoctocolors@2.1.2: {} - zod-to-json-schema@3.25.1(zod@4.3.5): + zod-to-json-schema@3.25.1(zod@4.3.6): dependencies: - zod: 4.3.5 + zod: 4.3.6 - zod@4.3.5: {} + zod@4.3.6: {} diff --git a/post b/post index b211796..95f1883 100755 --- a/post +++ b/post @@ -35679,7 +35679,7 @@ $ark.intrinsic = { ...intrinsic }; var regex = ((src, flags) => new RegExp(src, flags)); Object.assign(regex, { as: regex }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/date.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/date.js var isDateLiteral = (value2) => typeof value2 === "string" && value2[0] === "d" && (value2[1] === "'" || value2[1] === '"') && value2[value2.length - 1] === value2[1]; var isValidDate = (d) => d.toString() !== "Invalid Date"; var extractDateLiteralSource = (literal) => literal.slice(2, -1); @@ -35698,7 +35698,7 @@ var maybeParseDate = (source, errorOnFail) => { return errorOnFail ? throwParseError(errorOnFail === true ? writeInvalidDateMessage(source) : errorOnFail) : void 0; }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/enclosed.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/enclosed.js var regexExecArray = rootSchema({ proto: "Array", sequence: "string", @@ -35772,12 +35772,12 @@ var enclosingCharDescriptions = { }; var writeUnterminatedEnclosedMessage = (fragment, enclosingStart) => `${enclosingStart}${fragment} requires a closing ${enclosingCharDescriptions[enclosingTokens[enclosingStart]]}`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/ast/validate.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/ast/validate.js var writePrefixedPrivateReferenceMessage = (name) => `Private type references should not include '#'. Use '${name}' instead.`; var shallowOptionalMessage = "Optional definitions like 'string?' are only valid as properties in an object or tuple"; var shallowDefaultableMessage = "Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/tokens.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/tokens.js var terminatingChars = { "<": 1, ">": 1, @@ -35799,7 +35799,7 @@ var lookaheadIsFinalizing = (lookahead, unscanned) => lookahead === ">" ? unscan unscanned[1] === "=" ) : unscanned.trimStart() === "" || isKeyOf(unscanned.trimStart()[0], terminatingChars) : lookahead === "=" ? unscanned[0] !== "=" : lookahead === "," || lookahead === "?"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/genericArgs.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/genericArgs.js var parseGenericArgs = (name, g, s) => _parseGenericArgs(name, g, s, []); var _parseGenericArgs = (name, g, s, argNodes) => { const argState = s.parseUntilFinalizer(); @@ -35816,7 +35816,7 @@ var _parseGenericArgs = (name, g, s, argNodes) => { }; var writeInvalidGenericArgCountMessage = (name, params, argDefs) => `${name}<${params.join(", ")}> requires exactly ${params.length} args (got ${argDefs.length}${argDefs.length === 0 ? "" : `: ${argDefs.join(", ")}`})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/unenclosed.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/unenclosed.js var parseUnenclosed = (s) => { const token = s.scanner.shiftUntilLookahead(terminatingChars); if (token === "keyof") @@ -35864,10 +35864,10 @@ var writeMissingOperandMessage = (s) => { var writeMissingRightOperandMessage = (token, unscanned = "") => `Token '${token}' requires a right operand${unscanned ? ` before '${unscanned}'` : ""}`; var writeExpressionExpectedMessage = (unscanned) => `Expected an expression${unscanned ? ` before '${unscanned}'` : ""}`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operand/operand.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operand/operand.js var parseOperand = (s) => s.scanner.lookahead === "" ? s.error(writeMissingOperandMessage(s)) : s.scanner.lookahead === "(" ? s.shiftedBy(1).reduceGroupOpen() : s.scanner.lookaheadIsIn(enclosingChar) ? parseEnclosed(s, s.scanner.shift()) : s.scanner.lookaheadIsIn(whitespaceChars) ? parseOperand(s.shiftedBy(1)) : s.scanner.lookahead === "d" ? s.scanner.nextLookahead in enclosingQuote ? parseEnclosed(s, `${s.scanner.shift()}${s.scanner.shift()}`) : parseUnenclosed(s) : s.scanner.lookahead === "x" ? s.scanner.nextLookahead === "/" ? s.shiftedBy(2) && parseEnclosed(s, "x/") : parseUnenclosed(s) : parseUnenclosed(s); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/shared.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/reduce/shared.js var minComparators = { ">": true, ">=": true @@ -35887,7 +35887,7 @@ var writeOpenRangeMessage = (min, comparator) => `Left bounds are only valid whe var writeUnpairableComparatorMessage = (comparator) => `Left-bounded expressions must specify their limits using < or <= (was ${comparator})`; var writeMultipleLeftBoundsMessage = (openLimit, openComparator, limit, comparator) => `An expression may have at most one left bound (parsed ${openLimit}${invertedComparators[openComparator]}, ${limit}${invertedComparators[comparator]})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/bounds.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/bounds.js var parseBound = (s, start) => { const comparator = shiftComparator(s, start); if (s.root.hasKind("unit")) { @@ -35958,14 +35958,14 @@ var parseRightBound = (s, comparator) => { }; var writeInvalidLimitMessage = (comparator, limit, boundKind) => `Comparator ${boundKind === "left" ? invertedComparators[comparator] : comparator} must be ${boundKind === "left" ? "preceded" : "followed"} by a corresponding literal (was ${limit})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/brand.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/brand.js var parseBrand = (s) => { s.scanner.shiftUntilNonWhitespace(); const brandName = s.scanner.shiftUntilLookahead(terminatingChars); s.root = s.root.brand(brandName); }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/divisor.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/divisor.js var parseDivisor = (s) => { s.scanner.shiftUntilNonWhitespace(); const divisorToken = s.scanner.shiftUntilLookahead(terminatingChars); @@ -35978,7 +35978,7 @@ var parseDivisor = (s) => { }; var writeInvalidDivisorMessage = (divisor) => `% operator must be followed by a non-zero integer literal (was ${divisor})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/operator.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/operator.js var parseOperator = (s) => { const lookahead = s.scanner.shift(); return lookahead === "" ? s.finalize("") : lookahead === "[" ? s.scanner.shift() === "]" ? s.setRoot(s.root.array()) : s.error(incompleteArrayTokenMessage) : lookahead === "|" ? s.scanner.lookahead === ">" ? s.shiftedBy(1).pushRootToBranch("|>") : s.pushRootToBranch(lookahead) : lookahead === "&" ? s.pushRootToBranch(lookahead) : lookahead === ")" ? s.finalizeGroup() : lookaheadIsFinalizing(lookahead, s.scanner.unscanned) ? s.finalize(lookahead) : isKeyOf(lookahead, comparatorStartChars) ? parseBound(s, lookahead) : lookahead === "%" ? parseDivisor(s) : lookahead === "#" ? parseBrand(s) : lookahead in whitespaceChars ? parseOperator(s) : s.error(writeUnexpectedCharacterMessage(lookahead)); @@ -35986,7 +35986,7 @@ var parseOperator = (s) => { var writeUnexpectedCharacterMessage = (char, shouldBe = "") => `'${char}' is not allowed here${shouldBe && ` (should be ${shouldBe})`}`; var incompleteArrayTokenMessage = `Missing expected ']'`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/shift/operator/default.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/shift/operator/default.js var parseDefault = (s) => { const baseNode = s.unsetRoot(); s.parseOperand(); @@ -35998,7 +35998,7 @@ var parseDefault = (s) => { }; var writeNonLiteralDefaultMessage = (defaultDef) => `Default value '${defaultDef}' must be a literal value`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/string.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/string.js var parseString = (def, ctx) => { const aliasResolution = ctx.$.maybeResolveRoot(def); if (aliasResolution) @@ -36037,7 +36037,7 @@ var parseUntilFinalizer = (s) => { }; var next = (s) => s.hasRoot() ? s.parseOperator() : s.parseOperand(); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/reduce/dynamic.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/reduce/dynamic.js var RuntimeState = class _RuntimeState { root; branches = { @@ -36174,7 +36174,7 @@ var RuntimeState = class _RuntimeState { } }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/generic.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/generic.js var emptyGenericParameterMessage = "An empty string is not a valid generic parameter name"; var parseGenericParamName = (scanner, result, ctx) => { scanner.shiftUntilNonWhitespace(); @@ -36203,7 +36203,7 @@ var _parseOptionalConstraint = (scanner, name, result, ctx) => { return parseGenericParamName(scanner, result, ctx); }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/fn.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/fn.js var InternalFnParser = class extends Callable { constructor($) { const attach = { @@ -36255,7 +36255,7 @@ var InternalTypedFn = class extends Callable { var badFnReturnTypeMessage = `":" must be followed by exactly one return type e.g: fn("string", ":", "number")(s => s.length)`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/match.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/match.js var InternalMatchParser = class extends Callable { $; constructor($) { @@ -36348,7 +36348,7 @@ var throwOnDefault = (errors) => errors.throw(); var chainedAtMessage = `A key matcher must be specified before the first case i.e. match.at('foo') or match.in().at('bar')`; var doubleAtMessage = `At most one key matcher may be specified per expression`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/property.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/property.js var parseProperty = (def, ctx) => { if (isArray(def)) { if (def[1] === "=") @@ -36361,7 +36361,7 @@ var parseProperty = (def, ctx) => { var invalidOptionalKeyKindMessage = `Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`; var invalidDefaultableKeyKindMessage = `Only required keys may specify default values, e.g. { value: 'number = 0' }`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/objectLiteral.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/objectLiteral.js var parseObjectLiteral = (def, ctx) => { let spread; const structure = {}; @@ -36451,7 +36451,7 @@ var preparseKey = (key) => typeof key === "symbol" ? { kind: "required", normali }; var writeInvalidSpreadTypeMessage = (def) => `Spread operand must resolve to an object literal type (was ${def})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleExpressions.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/tupleExpressions.js var maybeParseTupleExpression = (def, ctx) => isIndexZeroExpression(def) ? indexZeroParsers[def[0]](def, ctx) : isIndexOneExpression(def) ? indexOneParsers[def[1]](def, ctx) : null; var parseKeyOfTuple = (def, ctx) => ctx.$.parseOwnDefinitionFormat(def[1], ctx).keyof(); var parseBranchTuple = (def, ctx) => { @@ -36514,7 +36514,7 @@ var indexZeroParsers = defineIndexZeroParsers({ var isIndexZeroExpression = (def) => indexZeroParsers[def[0]] !== void 0; var writeInvalidConstructorMessage = (actual) => `Expected a constructor following 'instanceof' operator (was ${actual})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/tupleLiteral.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/tupleLiteral.js var parseTupleLiteral = (def, ctx) => { let sequences = [{}]; let i = 0; @@ -36616,7 +36616,7 @@ var requiredPostOptionalMessage = "A required element may not follow an optional var optionalOrDefaultableAfterVariadicMessage = "An optional element may not follow a variadic element"; var defaultablePostOptionalMessage = "A defaultable element may not follow an optional element without a default"; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/parser/definition.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/parser/definition.js var parseCache = {}; var parseInnerDefinition = (def, ctx) => { if (typeof def === "string") { @@ -36680,7 +36680,7 @@ var parseStandardSchema = (def, ctx) => ctx.$.intrinsic.unknown.pipe((v, ctx2) = var parseTuple = (def, ctx) => maybeParseTupleExpression(def, ctx) ?? parseTupleLiteral(def, ctx); var writeBadDefinitionTypeMessage = (actual) => `Type definitions must be strings or objects (was ${actual})`; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/type.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/type.js var InternalTypeParser = class extends Callable { constructor($) { const attach = Object.assign( @@ -36727,7 +36727,7 @@ var InternalTypeParser = class extends Callable { } }; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/scope.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/scope.js var $arkTypeRegistry = $ark; var InternalScope = class _InternalScope extends BaseScope { get ambientAttachments() { @@ -36822,7 +36822,7 @@ var scope = Object.assign(InternalScope.scope, { }); var Scope = InternalScope; -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/builtins.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/builtins.js var MergeHkt = class extends Hkt { description = 'merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'; }; @@ -36832,7 +36832,7 @@ var arkBuiltins = Scope.module({ Merge }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/Array.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/Array.js var liftFromHkt = class extends Hkt { }; var liftFrom = genericNode("element")((args2) => { @@ -36849,7 +36849,7 @@ var arkArray = Scope.module({ name: "Array" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/FormData.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/FormData.js var value = rootSchema(["string", registry.FileConstructor]); var parsedFormDataValue = value.rawOr(value.array()); var parsed = rootSchema({ @@ -36886,7 +36886,7 @@ var arkFormData = Scope.module({ name: "FormData" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/TypedArray.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/TypedArray.js var TypedArray = Scope.module({ Int8: ["instanceof", Int8Array], Uint8: ["instanceof", Uint8Array], @@ -36903,7 +36903,7 @@ var TypedArray = Scope.module({ name: "TypedArray" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/constructors.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/constructors.js var omittedPrototypes = { Boolean: 1, Number: 1, @@ -36916,7 +36916,7 @@ var arkPrototypes = Scope.module({ FormData: arkFormData }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/number.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/number.js var epoch = rootSchema({ domain: { domain: "number", @@ -36959,7 +36959,7 @@ var number = Scope.module({ name: "number" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/string.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/string.js var regexStringNode = (regex4, description, jsonSchemaFormat) => { const schema2 = { domain: "string", @@ -37366,7 +37366,7 @@ var string = Scope.module({ name: "string" }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/ts.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/ts.js var arkTsKeywords = Scope.module({ bigint: intrinsic.bigint, boolean: intrinsic.boolean, @@ -37447,7 +37447,7 @@ var arkTsGenerics = Scope.module({ Required: Required2 }); -// node_modules/.pnpm/arktype@2.1.29/node_modules/arktype/out/keywords/keywords.js +// node_modules/.pnpm/arktype@2.2.0/node_modules/arktype/out/keywords/keywords.js var ark = scope({ ...arkTsKeywords, ...arkTsGenerics, @@ -41346,14 +41346,14 @@ var package_default = { "@octokit/webhooks-types": "^7.6.1", "@openai/codex-sdk": "0.98.0", "@opencode-ai/sdk": "^1.0.143", - "@standard-schema/spec": "1.0.0", + "@standard-schema/spec": "1.1.0", "@toon-format/toon": "^1.0.0", ajv: "^8.18.0", arkregex: "0.0.5", - arktype: "2.1.29", + arktype: "2.2.0", dotenv: "^17.2.3", execa: "^9.6.0", - fastmcp: "^3.26.8", + fastmcp: "^3.34.0", "file-type": "^21.3.0", "package-manager-detector": "^1.6.0", semver: "^7.7.3",