From aec3c58d1c7a7fbb0e670e1d0d5fcb9292e9980d Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Thu, 29 Jun 2023 19:15:20 -0400 Subject: [PATCH] Update edge-runtime to latest (#51944) ### What? The updates `edge-runtime` to the latest version ### Why? https://github.com/vercel/edge-runtime/pull/428 fixes `consumeUint8ArrayReadableStream` so that when we break iteration early (due to client disconnect), we cleanup the inner stream. That will fire the stream's `cancel` handler, and allow devs to disconnect from an AI service fetch. ### How? `edge-runtime` maintain a `try {} finally {}` over the inner stream's iteration. When we early break, JS will call `it.return()`, and that will resume `consumeUint8ArrayReadableStream` with an abrupt completion (essentially, the `yield` turns into a `return`). We'll be able to trigger the `finally {}` block with that, and we call `inner.cancel()` to cleanup. Fixes https://github.com/vercel-labs/ai/issues/90 --- packages/next/package.json | 2 +- .../next/src/compiled/edge-runtime/index.js | 2 +- packages/next/src/compiled/sass-loader/cjs.js | 2 +- pnpm-lock.yaml | 50 +++++++++---------- 4 files changed, 27 insertions(+), 29 deletions(-) diff --git a/packages/next/package.json b/packages/next/package.json index 1e33841272061..35e78b95eb2f1 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -222,7 +222,7 @@ "debug": "4.1.1", "devalue": "2.0.1", "domain-browser": "4.19.0", - "edge-runtime": "2.3.2", + "edge-runtime": "2.4.4", "events": "3.3.0", "find-cache-dir": "3.3.1", "find-up": "4.1.0", diff --git a/packages/next/src/compiled/edge-runtime/index.js b/packages/next/src/compiled/edge-runtime/index.js index b3571a5a860f1..171e32a1bcd17 100644 --- a/packages/next/src/compiled/edge-runtime/index.js +++ b/packages/next/src/compiled/edge-runtime/index.js @@ -1 +1 @@ -(()=>{var __webpack_modules__={773:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/abort-controller.js\nvar abort_controller_exports = {};\n__export(abort_controller_exports, {\n AbortController: () => AbortController,\n AbortSignal: () => AbortSignal,\n DOMException: () => DOMException\n});\nmodule.exports = __toCommonJS(abort_controller_exports);\nvar kSignal = Symbol("kSignal");\nvar kAborted = Symbol("kAborted");\nvar kReason = Symbol("kReason");\nvar kName = Symbol("kName");\nvar kOnabort = Symbol("kOnabort");\nvar DOMException = class extends Error {\n constructor(message, name) {\n super(message);\n this[kName] = name;\n }\n get name() {\n return this[kName];\n }\n};\n__name(DOMException, "DOMException");\nfunction createAbortSignal() {\n const signal = new EventTarget();\n Object.setPrototypeOf(signal, AbortSignal.prototype);\n signal[kAborted] = false;\n signal[kReason] = void 0;\n signal[kOnabort] = void 0;\n return signal;\n}\n__name(createAbortSignal, "createAbortSignal");\nfunction abortSignalAbort(signal, reason) {\n if (typeof reason === "undefined") {\n reason = new DOMException("The operation was aborted.", "AbortError");\n }\n if (signal.aborted) {\n return;\n }\n signal[kReason] = reason;\n signal[kAborted] = true;\n signal.dispatchEvent(new Event("abort"));\n}\n__name(abortSignalAbort, "abortSignalAbort");\nvar AbortController = class {\n constructor() {\n this[kSignal] = createAbortSignal();\n }\n get signal() {\n return this[kSignal];\n }\n abort(reason) {\n abortSignalAbort(this.signal, reason);\n }\n};\n__name(AbortController, "AbortController");\nvar AbortSignal = class extends EventTarget {\n constructor() {\n throw new TypeError("Illegal constructor.");\n }\n get aborted() {\n return this[kAborted];\n }\n get reason() {\n return this[kReason];\n }\n get onabort() {\n return this[kOnabort];\n }\n set onabort(value) {\n if (this[kOnabort]) {\n this.removeEventListener("abort", this[kOnabort]);\n }\n if (value) {\n this[kOnabort] = value;\n this.addEventListener("abort", this[kOnabort]);\n }\n }\n throwIfAborted() {\n if (this[kAborted]) {\n throw this[kReason];\n }\n }\n static abort(reason) {\n const signal = createAbortSignal();\n abortSignalAbort(signal, reason);\n return signal;\n }\n static timeout(milliseconds) {\n const signal = createAbortSignal();\n setTimeout(() => {\n abortSignalAbort(\n signal,\n new DOMException("The operation timed out.", "TimeoutError")\n );\n }, milliseconds);\n return signal;\n }\n};\n__name(AbortSignal, "AbortSignal");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n'},616:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar init_define_process = __esm({\n ""() {\n }\n});\n\n// ../../node_modules/.pnpm/blob-polyfill@7.0.20220408/node_modules/blob-polyfill/Blob.js\nvar require_Blob = __commonJS({\n "../../node_modules/.pnpm/blob-polyfill@7.0.20220408/node_modules/blob-polyfill/Blob.js"(exports) {\n init_define_process();\n (function(global2) {\n (function(factory) {\n if (typeof define === "function" && define.amd) {\n define(["exports"], factory);\n } else if (typeof exports === "object" && typeof exports.nodeName !== "string") {\n factory(exports);\n } else {\n factory(global2);\n }\n })(function(exports2) {\n "use strict";\n var BlobBuilder = global2.BlobBuilder || global2.WebKitBlobBuilder || global2.MSBlobBuilder || global2.MozBlobBuilder;\n var URL = global2.URL || global2.webkitURL || function(href, a) {\n a = document.createElement("a");\n a.href = href;\n return a;\n };\n var origBlob = global2.Blob;\n var createObjectURL = URL.createObjectURL;\n var revokeObjectURL = URL.revokeObjectURL;\n var strTag = global2.Symbol && global2.Symbol.toStringTag;\n var blobSupported = false;\n var blobSupportsArrayBufferView = false;\n var blobBuilderSupported = BlobBuilder && BlobBuilder.prototype.append && BlobBuilder.prototype.getBlob;\n try {\n blobSupported = new Blob(["\\xE4"]).size === 2;\n blobSupportsArrayBufferView = new Blob([new Uint8Array([1, 2])]).size === 2;\n } catch (e) {\n }\n function mapArrayBufferViews(ary) {\n return ary.map(function(chunk) {\n if (chunk.buffer instanceof ArrayBuffer) {\n var buf = chunk.buffer;\n if (chunk.byteLength !== buf.byteLength) {\n var copy = new Uint8Array(chunk.byteLength);\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\n buf = copy.buffer;\n }\n return buf;\n }\n return chunk;\n });\n }\n __name(mapArrayBufferViews, "mapArrayBufferViews");\n function BlobBuilderConstructor(ary, options) {\n options = options || {};\n var bb = new BlobBuilder();\n mapArrayBufferViews(ary).forEach(function(part) {\n bb.append(part);\n });\n return options.type ? bb.getBlob(options.type) : bb.getBlob();\n }\n __name(BlobBuilderConstructor, "BlobBuilderConstructor");\n function BlobConstructor(ary, options) {\n return new origBlob(mapArrayBufferViews(ary), options || {});\n }\n __name(BlobConstructor, "BlobConstructor");\n if (global2.Blob) {\n BlobBuilderConstructor.prototype = Blob.prototype;\n BlobConstructor.prototype = Blob.prototype;\n }\n function stringEncode(string) {\n var pos = 0;\n var len = string.length;\n var Arr = global2.Uint8Array || Array;\n var at = 0;\n var tlen = Math.max(32, len + (len >> 1) + 7);\n var target = new Arr(tlen >> 3 << 3);\n while (pos < len) {\n var value = string.charCodeAt(pos++);\n if (value >= 55296 && value <= 56319) {\n if (pos < len) {\n var extra = string.charCodeAt(pos);\n if ((extra & 64512) === 56320) {\n ++pos;\n value = ((value & 1023) << 10) + (extra & 1023) + 65536;\n }\n }\n if (value >= 55296 && value <= 56319) {\n continue;\n }\n }\n if (at + 4 > target.length) {\n tlen += 8;\n tlen *= 1 + pos / string.length * 2;\n tlen = tlen >> 3 << 3;\n var update = new Uint8Array(tlen);\n update.set(target);\n target = update;\n }\n if ((value & 4294967168) === 0) {\n target[at++] = value;\n continue;\n } else if ((value & 4294965248) === 0) {\n target[at++] = value >> 6 & 31 | 192;\n } else if ((value & 4294901760) === 0) {\n target[at++] = value >> 12 & 15 | 224;\n target[at++] = value >> 6 & 63 | 128;\n } else if ((value & 4292870144) === 0) {\n target[at++] = value >> 18 & 7 | 240;\n target[at++] = value >> 12 & 63 | 128;\n target[at++] = value >> 6 & 63 | 128;\n } else {\n continue;\n }\n target[at++] = value & 63 | 128;\n }\n return target.slice(0, at);\n }\n __name(stringEncode, "stringEncode");\n function stringDecode(buf) {\n var end = buf.length;\n var res = [];\n var i = 0;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n var len = res.length;\n var str = "";\n var j = 0;\n while (j < len) {\n str += String.fromCharCode.apply(String, res.slice(j, j += 4096));\n }\n return str;\n }\n __name(stringDecode, "stringDecode");\n var textEncode = typeof TextEncoder === "function" ? TextEncoder.prototype.encode.bind(new TextEncoder()) : stringEncode;\n var textDecode = typeof TextDecoder === "function" ? TextDecoder.prototype.decode.bind(new TextDecoder()) : stringDecode;\n function FakeBlobBuilder() {\n function bufferClone(buf) {\n var view = new Array(buf.byteLength);\n var array = new Uint8Array(buf);\n var i = view.length;\n while (i--) {\n view[i] = array[i];\n }\n return view;\n }\n __name(bufferClone, "bufferClone");\n function array2base64(input) {\n var byteToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n var output = [];\n for (var i = 0; i < input.length; i += 3) {\n var byte1 = input[i];\n var haveByte2 = i + 1 < input.length;\n var byte2 = haveByte2 ? input[i + 1] : 0;\n var haveByte3 = i + 2 < input.length;\n var byte3 = haveByte3 ? input[i + 2] : 0;\n var outByte1 = byte1 >> 2;\n var outByte2 = (byte1 & 3) << 4 | byte2 >> 4;\n var outByte3 = (byte2 & 15) << 2 | byte3 >> 6;\n var outByte4 = byte3 & 63;\n if (!haveByte3) {\n outByte4 = 64;\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n output.push(\n byteToCharMap[outByte1],\n byteToCharMap[outByte2],\n byteToCharMap[outByte3],\n byteToCharMap[outByte4]\n );\n }\n return output.join("");\n }\n __name(array2base64, "array2base64");\n var create = Object.create || function(a) {\n function c() {\n }\n __name(c, "c");\n c.prototype = a;\n return new c();\n };\n function getObjectTypeName(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n }\n __name(getObjectTypeName, "getObjectTypeName");\n function isPrototypeOf(c, o) {\n return typeof c === "object" && Object.prototype.isPrototypeOf.call(c.prototype, o);\n }\n __name(isPrototypeOf, "isPrototypeOf");\n function isDataView(o) {\n return getObjectTypeName(o) === "DataView" || isPrototypeOf(global2.DataView, o);\n }\n __name(isDataView, "isDataView");\n var arrayBufferClassNames = [\n "Int8Array",\n "Uint8Array",\n "Uint8ClampedArray",\n "Int16Array",\n "Uint16Array",\n "Int32Array",\n "Uint32Array",\n "Float32Array",\n "Float64Array",\n "ArrayBuffer"\n ];\n function includes(a, v) {\n return a.indexOf(v) !== -1;\n }\n __name(includes, "includes");\n function isArrayBuffer(o) {\n return includes(arrayBufferClassNames, getObjectTypeName(o)) || isPrototypeOf(global2.ArrayBuffer, o);\n }\n __name(isArrayBuffer, "isArrayBuffer");\n function concatTypedarrays(chunks) {\n var size = 0;\n var j = chunks.length;\n while (j--) {\n size += chunks[j].length;\n }\n var b = new Uint8Array(size);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n b.set(chunk, offset);\n offset += chunk.byteLength || chunk.length;\n }\n return b;\n }\n __name(concatTypedarrays, "concatTypedarrays");\n function Blob3(chunks, opts) {\n chunks = chunks ? chunks.slice() : [];\n opts = opts == null ? {} : opts;\n for (var i = 0, len = chunks.length; i < len; i++) {\n var chunk = chunks[i];\n if (chunk instanceof Blob3) {\n chunks[i] = chunk._buffer;\n } else if (typeof chunk === "string") {\n chunks[i] = textEncode(chunk);\n } else if (isDataView(chunk)) {\n chunks[i] = bufferClone(chunk.buffer);\n } else if (isArrayBuffer(chunk)) {\n chunks[i] = bufferClone(chunk);\n } else {\n chunks[i] = textEncode(String(chunk));\n }\n }\n this._buffer = global2.Uint8Array ? concatTypedarrays(chunks) : [].concat.apply([], chunks);\n this.size = this._buffer.length;\n this.type = opts.type || "";\n if (/[^\\u0020-\\u007E]/.test(this.type)) {\n this.type = "";\n } else {\n this.type = this.type.toLowerCase();\n }\n }\n __name(Blob3, "Blob");\n Blob3.prototype.arrayBuffer = function() {\n return Promise.resolve(this._buffer.buffer || this._buffer);\n };\n Blob3.prototype.text = function() {\n return Promise.resolve(textDecode(this._buffer));\n };\n Blob3.prototype.slice = function(start, end, type) {\n var slice = this._buffer.slice(start || 0, end || this._buffer.length);\n return new Blob3([slice], { type });\n };\n Blob3.prototype.toString = function() {\n return "[object Blob]";\n };\n function File2(chunks, name, opts) {\n opts = opts || {};\n var a = Blob3.call(this, chunks, opts) || this;\n a.name = name.replace(/\\//g, ":");\n a.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : /* @__PURE__ */ new Date();\n a.lastModified = +a.lastModifiedDate;\n return a;\n }\n __name(File2, "File");\n File2.prototype = create(Blob3.prototype);\n File2.prototype.constructor = File2;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(File2, Blob3);\n } else {\n try {\n File2.__proto__ = Blob3;\n } catch (e) {\n }\n }\n File2.prototype.toString = function() {\n return "[object File]";\n };\n function FileReader2() {\n if (!(this instanceof FileReader2)) {\n throw new TypeError("Failed to construct \'FileReader\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.");\n }\n var delegate = document.createDocumentFragment();\n this.addEventListener = delegate.addEventListener;\n this.dispatchEvent = function(evt) {\n var local = this["on" + evt.type];\n if (typeof local === "function")\n local(evt);\n delegate.dispatchEvent(evt);\n };\n this.removeEventListener = delegate.removeEventListener;\n }\n __name(FileReader2, "FileReader");\n function _read(fr, blob2, kind) {\n if (!(blob2 instanceof Blob3)) {\n throw new TypeError("Failed to execute \'" + kind + "\' on \'FileReader\': parameter 1 is not of type \'Blob\'.");\n }\n fr.result = "";\n setTimeout(function() {\n this.readyState = FileReader2.LOADING;\n fr.dispatchEvent(new Event("load"));\n fr.dispatchEvent(new Event("loadend"));\n });\n }\n __name(_read, "_read");\n FileReader2.EMPTY = 0;\n FileReader2.LOADING = 1;\n FileReader2.DONE = 2;\n FileReader2.prototype.error = null;\n FileReader2.prototype.onabort = null;\n FileReader2.prototype.onerror = null;\n FileReader2.prototype.onload = null;\n FileReader2.prototype.onloadend = null;\n FileReader2.prototype.onloadstart = null;\n FileReader2.prototype.onprogress = null;\n FileReader2.prototype.readAsDataURL = function(blob2) {\n _read(this, blob2, "readAsDataURL");\n this.result = "data:" + blob2.type + ";base64," + array2base64(blob2._buffer);\n };\n FileReader2.prototype.readAsText = function(blob2) {\n _read(this, blob2, "readAsText");\n this.result = textDecode(blob2._buffer);\n };\n FileReader2.prototype.readAsArrayBuffer = function(blob2) {\n _read(this, blob2, "readAsText");\n this.result = (blob2._buffer.buffer || blob2._buffer).slice();\n };\n FileReader2.prototype.abort = function() {\n };\n URL.createObjectURL = function(blob2) {\n return blob2 instanceof Blob3 ? "data:" + blob2.type + ";base64," + array2base64(blob2._buffer) : createObjectURL.call(URL, blob2);\n };\n URL.revokeObjectURL = function(url) {\n revokeObjectURL && revokeObjectURL.call(URL, url);\n };\n var _send = global2.XMLHttpRequest && global2.XMLHttpRequest.prototype.send;\n if (_send) {\n XMLHttpRequest.prototype.send = function(data) {\n if (data instanceof Blob3) {\n this.setRequestHeader("Content-Type", data.type);\n _send.call(this, textDecode(data._buffer));\n } else {\n _send.call(this, data);\n }\n };\n }\n exports2.Blob = Blob3;\n exports2.File = File2;\n exports2.FileReader = FileReader2;\n exports2.URL = URL;\n }\n __name(FakeBlobBuilder, "FakeBlobBuilder");\n function fixFileAndXHR() {\n var isIE = !!global2.ActiveXObject || "-ms-scroll-limit" in document.documentElement.style && "-ms-ime-align" in document.documentElement.style;\n var _send = global2.XMLHttpRequest && global2.XMLHttpRequest.prototype.send;\n if (isIE && _send) {\n XMLHttpRequest.prototype.send = function(data) {\n if (data instanceof Blob) {\n this.setRequestHeader("Content-Type", data.type);\n _send.call(this, data);\n } else {\n _send.call(this, data);\n }\n };\n }\n try {\n new File([], "");\n exports2.File = global2.File;\n exports2.FileReader = global2.FileReader;\n } catch (e) {\n try {\n exports2.File = new Function(\n \'class File extends Blob {constructor(chunks, name, opts) {opts = opts || {};super(chunks, opts || {});this.name = name.replace(/\\\\//g, ":");this.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : new Date();this.lastModified = +this.lastModifiedDate;}};return new File([], ""), File\'\n )();\n } catch (e2) {\n exports2.File = function(b, d, c) {\n var blob2 = new Blob(b, c);\n var t = c && void 0 !== c.lastModified ? new Date(c.lastModified) : /* @__PURE__ */ new Date();\n blob2.name = d.replace(/\\//g, ":");\n blob2.lastModifiedDate = t;\n blob2.lastModified = +t;\n blob2.toString = function() {\n return "[object File]";\n };\n if (strTag) {\n blob2[strTag] = "File";\n }\n return blob2;\n };\n }\n }\n }\n __name(fixFileAndXHR, "fixFileAndXHR");\n if (blobSupported) {\n fixFileAndXHR();\n exports2.Blob = blobSupportsArrayBufferView ? global2.Blob : BlobConstructor;\n } else if (blobBuilderSupported) {\n fixFileAndXHR();\n exports2.Blob = BlobBuilderConstructor;\n } else {\n FakeBlobBuilder();\n }\n if (strTag) {\n if (!exports2.File.prototype[strTag])\n exports2.File.prototype[strTag] = "File";\n if (!exports2.Blob.prototype[strTag])\n exports2.Blob.prototype[strTag] = "Blob";\n if (!exports2.FileReader.prototype[strTag])\n exports2.FileReader.prototype[strTag] = "FileReader";\n }\n var blob = exports2.Blob.prototype;\n var stream;\n try {\n new ReadableStream({ type: "bytes" });\n stream = /* @__PURE__ */ __name(function stream2() {\n var position = 0;\n var blob2 = this;\n return new ReadableStream({\n type: "bytes",\n autoAllocateChunkSize: 524288,\n pull: function(controller) {\n var v = controller.byobRequest.view;\n var chunk = blob2.slice(position, position + v.byteLength);\n return chunk.arrayBuffer().then(function(buffer) {\n var uint8array = new Uint8Array(buffer);\n var bytesRead = uint8array.byteLength;\n position += bytesRead;\n v.set(uint8array);\n controller.byobRequest.respond(bytesRead);\n if (position >= blob2.size)\n controller.close();\n });\n }\n });\n }, "stream");\n } catch (e) {\n try {\n new ReadableStream({});\n stream = /* @__PURE__ */ __name(function stream2(blob2) {\n var position = 0;\n return new ReadableStream({\n pull: function(controller) {\n var chunk = blob2.slice(position, position + 524288);\n return chunk.arrayBuffer().then(function(buffer) {\n position += buffer.byteLength;\n var uint8array = new Uint8Array(buffer);\n controller.enqueue(uint8array);\n if (position == blob2.size)\n controller.close();\n });\n }\n });\n }, "stream");\n } catch (e2) {\n try {\n new Response("").body.getReader().read();\n stream = /* @__PURE__ */ __name(function stream2() {\n return new Response(this).body;\n }, "stream");\n } catch (e3) {\n stream = /* @__PURE__ */ __name(function stream2() {\n throw new Error("Include https://github.com/MattiasBuelens/web-streams-polyfill");\n }, "stream");\n }\n }\n }\n function promisify(obj) {\n return new Promise(function(resolve, reject) {\n obj.onload = obj.onerror = function(evt) {\n obj.onload = obj.onerror = null;\n evt.type === "load" ? resolve(obj.result || obj) : reject(new Error("Failed to read the blob/file"));\n };\n });\n }\n __name(promisify, "promisify");\n if (!blob.arrayBuffer) {\n blob.arrayBuffer = /* @__PURE__ */ __name(function arrayBuffer() {\n var fr = new FileReader();\n fr.readAsArrayBuffer(this);\n return promisify(fr);\n }, "arrayBuffer");\n }\n if (!blob.text) {\n blob.text = /* @__PURE__ */ __name(function text() {\n var fr = new FileReader();\n fr.readAsText(this);\n return promisify(fr);\n }, "text");\n }\n if (!blob.stream) {\n blob.stream = stream;\n }\n });\n })(\n typeof self !== "undefined" && self || typeof window !== "undefined" && window || typeof global !== "undefined" && global || exports\n );\n }\n});\n\n// src/primitives/blob.js\nvar blob_exports = {};\n__export(blob_exports, {\n Blob: () => import_blob_polyfill.Blob\n});\nmodule.exports = __toCommonJS(blob_exports);\ninit_define_process();\nvar import_blob_polyfill = __toESM(require_Blob());\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Blob\n});\n'},484:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar init_define_process = __esm({\n ""() {\n }\n});\n\n// ../format/dist/index.js\nvar require_dist = __commonJS({\n "../format/dist/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = /* @__PURE__ */ __name((target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n }, "__export");\n var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n }, "__copyProps");\n var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS");\n var src_exports = {};\n __export2(src_exports, {\n createFormat: () => createFormat2\n });\n module2.exports = __toCommonJS2(src_exports);\n var ReflectGetOwnPropertyDescriptor = Reflect.getOwnPropertyDescriptor;\n function GetOwnGetter(target, key) {\n const descriptor = ReflectGetOwnPropertyDescriptor(target, key);\n return descriptor ? descriptor.get : void 0;\n }\n __name(GetOwnGetter, "GetOwnGetter");\n var ReflectGetPrototypeOf = Reflect.getPrototypeOf;\n var TypedArray = ReflectGetPrototypeOf(Uint8Array);\n var ArrayPrototypeFilter = Array.prototype.filter;\n var ArrayPrototypePush = Array.prototype.push;\n var DatePrototypeGetTime = Date.prototype.getTime;\n var DatePrototypeToISOString = Date.prototype.toISOString;\n var ObjectGetOwnPropertyDescriptors = Object.getOwnPropertyDescriptors;\n var ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n var ObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;\n var ObjectKeys = Object.keys;\n var ObjectPrototypePropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n var ObjectPrototypeToString = Object.prototype.toString;\n var MapPrototypeGetSize = GetOwnGetter(Map.prototype, "size");\n var SetPrototypeGetSize = GetOwnGetter(Set.prototype, "size");\n var StringPrototypeIncludes = String.prototype.includes;\n var SymbolIterator = Symbol.iterator;\n var SymbolPrototypeToString = Symbol.prototype.toString;\n var TypedArrayPrototypeGetLength = GetOwnGetter(\n TypedArray.prototype,\n "length"\n );\n var typedArrayStrings = /* @__PURE__ */ new Set([\n "[object BigInt64Array]",\n "[object BigUint64Array]",\n "[object Float32Array]",\n "[object Float64Array]",\n "[object Int8Array]",\n "[object Int16Array]",\n "[object Int32Array]",\n "[object Uint8Array]",\n "[object Uint8ClampedArray]",\n "[object Uint16Array]",\n "[object Uint32Array]"\n ]);\n function getOwnNonIndexProperties(object, filter) {\n const indexes = Array.isArray(object) || isTypedArray(object) ? new Set([...object.keys()].map((v) => v.toString())) : void 0;\n return Object.entries(ObjectGetOwnPropertyDescriptors(object)).filter(([key, desc]) => {\n if (indexes && indexes.has(key)) {\n return false;\n }\n if (filter === 1 && !desc.enumerable) {\n return false;\n }\n return true;\n }).map(([key]) => key);\n }\n __name(getOwnNonIndexProperties, "getOwnNonIndexProperties");\n var isTypedArray = /* @__PURE__ */ __name((value) => kind(value, "object") && typedArrayStrings.has(ObjectPrototypeToString.call(value)), "isTypedArray");\n function kind(value, type) {\n return typeof value === type;\n }\n __name(kind, "kind");\n var getConstructorName = /* @__PURE__ */ __name((object) => {\n var _a;\n return (_a = object.constructor) == null ? void 0 : _a.name;\n }, "getConstructorName");\n var getPrefix = /* @__PURE__ */ __name((constructor = "", size = "") => `${constructor}${size} `, "getPrefix");\n function createFormat2(opts = {}) {\n if (opts.customInspectSymbol === void 0) {\n opts.customInspectSymbol = Symbol.for("edge-runtime.inspect.custom");\n }\n if (opts.formatError === void 0) {\n opts.formatError = (error2) => `[${Error.prototype.toString.call(error2)}]`;\n }\n const { formatError, customInspectSymbol } = opts;\n function format2(...args) {\n const [firstArg] = args;\n if (!kind(firstArg, "string")) {\n if (hasCustomSymbol(firstArg, customInspectSymbol)) {\n return format2(firstArg[customInspectSymbol]({ format: format2 }));\n } else {\n return args.map((item) => inspect(item, { customInspectSymbol })).join(" ");\n }\n }\n let index = 1;\n let str = String(firstArg).replace(/%[sjdOoif%]/g, (token) => {\n if (token === "%%")\n return "%";\n if (index >= args.length)\n return token;\n switch (token) {\n case "%s": {\n const arg = args[index++];\n if (hasCustomSymbol(arg, customInspectSymbol)) {\n return format2(arg[customInspectSymbol]({ format: format2 }));\n } else if (isDate(arg) || isError(arg) || kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(arg);\n }\n }\n case "%j":\n return safeStringify(args[index++]);\n case "%d": {\n const arg = args[index++];\n if (kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(Number(arg));\n }\n }\n case "%O":\n return inspect(args[index++], { customInspectSymbol });\n case "%o":\n return inspect(args[index++], {\n customInspectSymbol,\n showHidden: true,\n depth: 4\n });\n case "%i": {\n const arg = args[index++];\n if (kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(parseInt(arg, 10));\n }\n }\n case "%f":\n return String(parseFloat(args[index++]));\n default:\n return token;\n }\n });\n for (let arg = args[index]; index < args.length; arg = args[++index]) {\n if (arg === null || !kind(arg, "object")) {\n str += " " + arg;\n } else {\n str += " " + inspect(arg);\n }\n }\n return str;\n }\n __name(format2, "format");\n function formatValue(ctx, value, recurseTimes) {\n if (hasCustomSymbol(value, customInspectSymbol)) {\n return format2(value[customInspectSymbol]({ format: format2 }));\n }\n const formattedPrimitive = formatPrimitive(value);\n if (formattedPrimitive !== void 0) {\n return formattedPrimitive;\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === void 0) {\n ctx.circular = /* @__PURE__ */ new Map();\n ctx.circular.set(value, index);\n } else {\n index = ctx.circular.get(value);\n if (index === void 0) {\n index = ctx.circular.size + 1;\n ctx.circular.set(value, index);\n }\n }\n return `[Circular *${index}]`;\n }\n return formatRaw(ctx, value, recurseTimes);\n }\n __name(formatValue, "formatValue");\n function formatRaw(ctx, value, recurseTimes) {\n let keys = [];\n const constructor = getConstructorName(value);\n let base = "";\n let formatter = /* @__PURE__ */ __name(() => [], "formatter");\n let braces = ["", ""];\n let noIterator = true;\n const filter = ctx.showHidden ? 0 : 1;\n if (SymbolIterator in value) {\n noIterator = false;\n if (Array.isArray(value)) {\n const prefix = constructor !== "Array" ? getPrefix(constructor, `(${value.length})`) : "";\n keys = getOwnNonIndexProperties(value, filter);\n braces = [`${prefix}[`, "]"];\n if (value.length === 0 && keys.length === 0) {\n return `${braces[0]}]`;\n }\n formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n keys = getKeys(value, ctx.showHidden);\n formatter = formatSet;\n if (size === 0 && keys.length === 0) {\n return `${prefix}{}`;\n }\n braces = [`${prefix}{`, "}"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n keys = getKeys(value, ctx.showHidden);\n formatter = formatMap;\n if (size === 0 && keys.length === 0) {\n return `${prefix}{}`;\n }\n braces = [`${prefix}{`, "}"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n const size = TypedArrayPrototypeGetLength.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n braces = [`${prefix}[`, "]"];\n if (value.length === 0 && keys.length === 0)\n return `${braces[0]}]`;\n formatter = formatTypedArray.bind(null, size);\n } else {\n noIterator = true;\n }\n }\n if (noIterator) {\n keys = getKeys(value, ctx.showHidden);\n braces = ["{", "}"];\n if (constructor === void 0) {\n if (keys.length === 0) {\n return `[Object: null prototype] {}`;\n }\n } else if (constructor === "Object") {\n if (keys.length === 0) {\n return `{}`;\n }\n } else if (kind(value, "function")) {\n base = `[Function${value.name ? ": " + value.name : ""}]`;\n if (keys.length === 0) {\n return base;\n }\n } else if (isRegExp(value)) {\n base = RegExp.prototype.toString.call(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (isDate(value)) {\n base = Number.isNaN(DatePrototypeGetTime.call(value)) ? Date.prototype.toString.call(value) : DatePrototypeToISOString.call(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (isError(value)) {\n base = formatError(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (hasCustomSymbol(value, ctx.customInspectSymbol)) {\n base = format2(value[ctx.customInspectSymbol]({ format: format2 }));\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else {\n braces[0] = `${getPrefix(constructor)}{`;\n }\n }\n if (recurseTimes && recurseTimes < 0) {\n return isRegExp(value) ? RegExp.prototype.toString.call(value) : "[Object]";\n }\n ctx.seen.push(value);\n const visibleKeys = new Set(keys);\n const output = formatter(ctx, value, recurseTimes, visibleKeys, keys);\n for (let i = 0; i < keys.length; i++) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n keys[i],\n false\n )\n );\n }\n if (ctx.circular !== void 0) {\n const index = ctx.circular.get(value);\n if (index !== void 0) {\n const reference = ``;\n base = base === "" ? reference : `${reference} ${base}`;\n }\n }\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n }\n __name(formatRaw, "formatRaw");\n function inspect(value, opts2) {\n opts2 = Object.assign({ seen: [], depth: 2 }, opts2);\n return formatValue(opts2, value, opts2.depth);\n }\n __name(inspect, "inspect");\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, isArray) {\n let name;\n let str;\n const desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n if (desc.value !== void 0) {\n str = formatValue(ctx, desc.value, recurseTimes);\n } else if (desc.get) {\n str = desc.set ? "[Getter/Setter]" : "[Getter]";\n } else if (desc.set) {\n str = "[Setter]";\n } else {\n str = "undefined";\n }\n if (isArray) {\n return str;\n }\n if (kind(key, "symbol")) {\n name = `[${SymbolPrototypeToString.call(key)}]`;\n } else if (!visibleKeys.has(key)) {\n name = "[" + key + "]";\n } else {\n name = key;\n }\n return `${name}: ${str}`;\n }\n __name(formatProperty, "formatProperty");\n function formatArray(ctx, value, recurseTimes, visibleKeys) {\n const output = [];\n for (let index = 0; index < value.length; ++index) {\n if (Object.prototype.hasOwnProperty.call(value, String(index))) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n String(index),\n true\n )\n );\n } else {\n output.push("");\n }\n }\n return output;\n }\n __name(formatArray, "formatArray");\n function formatTypedArray(length, ctx, value, recurseTimes) {\n const output = new Array(length);\n for (let i = 0; i < length; ++i) {\n output[i] = value.length > 0 && kind(value[0], "number") ? String(value[i]) : formatBigInt(value[i]);\n }\n if (ctx.showHidden) {\n for (const key of [\n "BYTES_PER_ELEMENT",\n "length",\n "byteLength",\n "byteOffset",\n "buffer"\n ]) {\n const str = formatValue(ctx, value[key], recurseTimes);\n ArrayPrototypePush.call(output, `[${String(key)}]: ${str}`);\n }\n }\n return output;\n }\n __name(formatTypedArray, "formatTypedArray");\n function formatSet(ctx, value, recurseTimes) {\n const output = [];\n for (const v of value) {\n ArrayPrototypePush.call(output, formatValue(ctx, v, recurseTimes));\n }\n return output;\n }\n __name(formatSet, "formatSet");\n function formatMap(ctx, value, recurseTimes) {\n const output = [];\n for (const { 0: k, 1: v } of value) {\n output.push(\n `${formatValue(ctx, k, recurseTimes)} => ${formatValue(\n ctx,\n v,\n recurseTimes\n )}`\n );\n }\n return output;\n }\n __name(formatMap, "formatMap");\n return format2;\n }\n __name(createFormat2, "createFormat");\n var formatBigInt = /* @__PURE__ */ __name((bigint) => `${bigint}n`, "formatBigInt");\n function formatPrimitive(value) {\n if (value === null)\n return "null";\n if (value === void 0)\n return "undefined";\n if (kind(value, "string")) {\n return `\'${JSON.stringify(value).replace(/^"|"$/g, "").replace(/\'/g, "\\\\\'").replace(/\\\\"/g, \'"\')}\'`;\n }\n if (kind(value, "boolean"))\n return "" + value;\n if (kind(value, "number"))\n return "" + value;\n if (kind(value, "bigint"))\n return formatBigInt(value);\n if (kind(value, "symbol"))\n return value.toString();\n }\n __name(formatPrimitive, "formatPrimitive");\n function hasCustomSymbol(value, customInspectSymbol) {\n return value !== null && kind(value, "object") && customInspectSymbol in value && kind(value[customInspectSymbol], "function");\n }\n __name(hasCustomSymbol, "hasCustomSymbol");\n function isRegExp(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object RegExp]";\n }\n __name(isRegExp, "isRegExp");\n function isDate(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Date]";\n }\n __name(isDate, "isDate");\n function isError(value) {\n return kind(value, "object") && (Object.prototype.toString.call(value) === "[object Error]" || value instanceof Error);\n }\n __name(isError, "isError");\n function isMap(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Map]";\n }\n __name(isMap, "isMap");\n function isSet(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Set]";\n }\n __name(isSet, "isSet");\n function isBelowBreakLength(output, start, base) {\n const breakLength = 80;\n let totalLength = output.length + start;\n if (totalLength + output.length > breakLength) {\n return false;\n }\n for (let i = 0; i < output.length; i++) {\n totalLength += output[i].length;\n if (totalLength > breakLength) {\n return false;\n }\n }\n return base === "" || !StringPrototypeIncludes.call(base, "\\n");\n }\n __name(isBelowBreakLength, "isBelowBreakLength");\n function reduceToSingleString(output, base, braces) {\n const start = output.length + braces[0].length + base.length + 10;\n if (!isBelowBreakLength(output, start, base)) {\n return (base ? base + " " : "") + braces[0] + "\\n " + output.join(",\\n ") + "\\n" + braces[1];\n }\n return ((base ? base + " " : "") + braces[0] + " " + output.join(", ") + " " + braces[1]).trim();\n }\n __name(reduceToSingleString, "reduceToSingleString");\n function safeStringify(input) {\n if (Array.isArray(input)) {\n input = input.map(\n (element) => JSON.parse(JSON.stringify(element, makeCircularReplacer()))\n );\n }\n return JSON.stringify(input, makeCircularReplacer());\n }\n __name(safeStringify, "safeStringify");\n function makeCircularReplacer() {\n const seen = /* @__PURE__ */ new WeakSet();\n return (key, value) => {\n if (value !== null && kind(value, "object")) {\n if (seen.has(value))\n return "[Circular]";\n seen.add(value);\n }\n return value;\n };\n }\n __name(makeCircularReplacer, "makeCircularReplacer");\n function getKeys(value, showHidden = false) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n keys = ObjectGetOwnPropertyNames(value);\n if (symbols.length !== 0)\n ArrayPrototypePush.apply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0) {\n const filter = /* @__PURE__ */ __name((key) => ObjectPrototypePropertyIsEnumerable.call(value, key), "filter");\n ArrayPrototypePush.apply(keys, ArrayPrototypeFilter.call(symbols, filter));\n }\n }\n return keys;\n }\n __name(getKeys, "getKeys");\n }\n});\n\n// src/primitives/console.js\nvar console_exports = {};\n__export(console_exports, {\n console: () => konsole\n});\nmodule.exports = __toCommonJS(console_exports);\ninit_define_process();\nvar import_format = __toESM(require_dist());\nvar format = (0, import_format.createFormat)();\nvar bareError = console.error.bind(console);\nvar bareLog = console.log.bind(console);\nvar assert = console.assert.bind(console);\nvar time = console.time.bind(console);\nvar timeEnd = console.timeEnd.bind(console);\nvar timeLog = console.timeLog.bind(console);\nvar trace = console.trace.bind(console);\nvar error = /* @__PURE__ */ __name((...args) => bareError(format(...args)), "error");\nvar log = /* @__PURE__ */ __name((...args) => bareLog(format(...args)), "log");\nvar konsole = {\n assert: (assertion, ...args) => assert(assertion, format(...args)),\n count: console.count.bind(console),\n debug: log,\n dir: console.dir.bind(console),\n error,\n info: log,\n log,\n time: (...args) => time(format(...args)),\n timeEnd: (...args) => timeEnd(format(...args)),\n timeLog,\n trace,\n warn: error\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n console\n});\n'},446:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/crypto.js\nvar crypto_exports = {};\n__export(crypto_exports, {\n Crypto: () => Crypto2,\n CryptoKey: () => CryptoKey,\n SubtleCrypto: () => SubtleCrypto3,\n crypto: () => crypto2\n});\nmodule.exports = __toCommonJS(crypto_exports);\n\n// ../../node_modules/.pnpm/pvtsutils@1.3.2/node_modules/pvtsutils/build/index.es.js\nvar ARRAY_BUFFER_NAME = "[object ArrayBuffer]";\nvar BufferSourceConverter = class {\n static isArrayBuffer(data) {\n return Object.prototype.toString.call(data) === ARRAY_BUFFER_NAME;\n }\n static toArrayBuffer(data) {\n if (this.isArrayBuffer(data)) {\n return data;\n }\n if (data.byteLength === data.buffer.byteLength) {\n return data.buffer;\n }\n return this.toUint8Array(data).slice().buffer;\n }\n static toUint8Array(data) {\n return this.toView(data, Uint8Array);\n }\n static toView(data, type) {\n if (data.constructor === type) {\n return data;\n }\n if (this.isArrayBuffer(data)) {\n return new type(data);\n }\n if (this.isArrayBufferView(data)) {\n return new type(data.buffer, data.byteOffset, data.byteLength);\n }\n throw new TypeError("The provided value is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n static isBufferSource(data) {\n return this.isArrayBufferView(data) || this.isArrayBuffer(data);\n }\n static isArrayBufferView(data) {\n return ArrayBuffer.isView(data) || data && this.isArrayBuffer(data.buffer);\n }\n static isEqual(a, b) {\n const aView = BufferSourceConverter.toUint8Array(a);\n const bView = BufferSourceConverter.toUint8Array(b);\n if (aView.length !== bView.byteLength) {\n return false;\n }\n for (let i = 0; i < aView.length; i++) {\n if (aView[i] !== bView[i]) {\n return false;\n }\n }\n return true;\n }\n static concat(...args) {\n if (Array.isArray(args[0])) {\n const buffers = args[0];\n let size = 0;\n for (const buffer of buffers) {\n size += buffer.byteLength;\n }\n const res = new Uint8Array(size);\n let offset = 0;\n for (const buffer of buffers) {\n const view = this.toUint8Array(buffer);\n res.set(view, offset);\n offset += view.length;\n }\n if (args[1]) {\n return this.toView(res, args[1]);\n }\n return res.buffer;\n } else {\n return this.concat(args);\n }\n }\n};\n__name(BufferSourceConverter, "BufferSourceConverter");\nvar Utf8Converter = class {\n static fromString(text) {\n const s = unescape(encodeURIComponent(text));\n const uintArray = new Uint8Array(s.length);\n for (let i = 0; i < s.length; i++) {\n uintArray[i] = s.charCodeAt(i);\n }\n return uintArray.buffer;\n }\n static toString(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n let encodedString = "";\n for (let i = 0; i < buf.length; i++) {\n encodedString += String.fromCharCode(buf[i]);\n }\n const decodedString = decodeURIComponent(escape(encodedString));\n return decodedString;\n }\n};\n__name(Utf8Converter, "Utf8Converter");\nvar Utf16Converter = class {\n static toString(buffer, littleEndian = false) {\n const arrayBuffer = BufferSourceConverter.toArrayBuffer(buffer);\n const dataView = new DataView(arrayBuffer);\n let res = "";\n for (let i = 0; i < arrayBuffer.byteLength; i += 2) {\n const code = dataView.getUint16(i, littleEndian);\n res += String.fromCharCode(code);\n }\n return res;\n }\n static fromString(text, littleEndian = false) {\n const res = new ArrayBuffer(text.length * 2);\n const dataView = new DataView(res);\n for (let i = 0; i < text.length; i++) {\n dataView.setUint16(i * 2, text.charCodeAt(i), littleEndian);\n }\n return res;\n }\n};\n__name(Utf16Converter, "Utf16Converter");\nvar Convert = class {\n static isHex(data) {\n return typeof data === "string" && /^[a-z0-9]+$/i.test(data);\n }\n static isBase64(data) {\n return typeof data === "string" && /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(data);\n }\n static isBase64Url(data) {\n return typeof data === "string" && /^[a-zA-Z0-9-_]+$/i.test(data);\n }\n static ToString(buffer, enc = "utf8") {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n switch (enc.toLowerCase()) {\n case "utf8":\n return this.ToUtf8String(buf);\n case "binary":\n return this.ToBinary(buf);\n case "hex":\n return this.ToHex(buf);\n case "base64":\n return this.ToBase64(buf);\n case "base64url":\n return this.ToBase64Url(buf);\n case "utf16le":\n return Utf16Converter.toString(buf, true);\n case "utf16":\n case "utf16be":\n return Utf16Converter.toString(buf);\n default:\n throw new Error(`Unknown type of encoding \'${enc}\'`);\n }\n }\n static FromString(str, enc = "utf8") {\n if (!str) {\n return new ArrayBuffer(0);\n }\n switch (enc.toLowerCase()) {\n case "utf8":\n return this.FromUtf8String(str);\n case "binary":\n return this.FromBinary(str);\n case "hex":\n return this.FromHex(str);\n case "base64":\n return this.FromBase64(str);\n case "base64url":\n return this.FromBase64Url(str);\n case "utf16le":\n return Utf16Converter.fromString(str, true);\n case "utf16":\n case "utf16be":\n return Utf16Converter.fromString(str);\n default:\n throw new Error(`Unknown type of encoding \'${enc}\'`);\n }\n }\n static ToBase64(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n if (typeof btoa !== "undefined") {\n const binary = this.ToString(buf, "binary");\n return btoa(binary);\n } else {\n return Buffer.from(buf).toString("base64");\n }\n }\n static FromBase64(base64) {\n const formatted = this.formatString(base64);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isBase64(formatted)) {\n throw new TypeError("Argument \'base64Text\' is not Base64 encoded");\n }\n if (typeof atob !== "undefined") {\n return this.FromBinary(atob(formatted));\n } else {\n return new Uint8Array(Buffer.from(formatted, "base64")).buffer;\n }\n }\n static FromBase64Url(base64url) {\n const formatted = this.formatString(base64url);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isBase64Url(formatted)) {\n throw new TypeError("Argument \'base64url\' is not Base64Url encoded");\n }\n return this.FromBase64(this.Base64Padding(formatted.replace(/\\-/g, "+").replace(/\\_/g, "/")));\n }\n static ToBase64Url(data) {\n return this.ToBase64(data).replace(/\\+/g, "-").replace(/\\//g, "_").replace(/\\=/g, "");\n }\n static FromUtf8String(text, encoding = Convert.DEFAULT_UTF8_ENCODING) {\n switch (encoding) {\n case "ascii":\n return this.FromBinary(text);\n case "utf8":\n return Utf8Converter.fromString(text);\n case "utf16":\n case "utf16be":\n return Utf16Converter.fromString(text);\n case "utf16le":\n case "usc2":\n return Utf16Converter.fromString(text, true);\n default:\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\n }\n }\n static ToUtf8String(buffer, encoding = Convert.DEFAULT_UTF8_ENCODING) {\n switch (encoding) {\n case "ascii":\n return this.ToBinary(buffer);\n case "utf8":\n return Utf8Converter.toString(buffer);\n case "utf16":\n case "utf16be":\n return Utf16Converter.toString(buffer);\n case "utf16le":\n case "usc2":\n return Utf16Converter.toString(buffer, true);\n default:\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\n }\n }\n static FromBinary(text) {\n const stringLength = text.length;\n const resultView = new Uint8Array(stringLength);\n for (let i = 0; i < stringLength; i++) {\n resultView[i] = text.charCodeAt(i);\n }\n return resultView.buffer;\n }\n static ToBinary(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n let res = "";\n for (let i = 0; i < buf.length; i++) {\n res += String.fromCharCode(buf[i]);\n }\n return res;\n }\n static ToHex(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n const splitter = "";\n const res = [];\n const len = buf.length;\n for (let i = 0; i < len; i++) {\n const char = buf[i].toString(16).padStart(2, "0");\n res.push(char);\n }\n return res.join(splitter);\n }\n static FromHex(hexString) {\n let formatted = this.formatString(hexString);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isHex(formatted)) {\n throw new TypeError("Argument \'hexString\' is not HEX encoded");\n }\n if (formatted.length % 2) {\n formatted = `0${formatted}`;\n }\n const res = new Uint8Array(formatted.length / 2);\n for (let i = 0; i < formatted.length; i = i + 2) {\n const c = formatted.slice(i, i + 2);\n res[i / 2] = parseInt(c, 16);\n }\n return res.buffer;\n }\n static ToUtf16String(buffer, littleEndian = false) {\n return Utf16Converter.toString(buffer, littleEndian);\n }\n static FromUtf16String(text, littleEndian = false) {\n return Utf16Converter.fromString(text, littleEndian);\n }\n static Base64Padding(base64) {\n const padCount = 4 - base64.length % 4;\n if (padCount < 4) {\n for (let i = 0; i < padCount; i++) {\n base64 += "=";\n }\n }\n return base64;\n }\n static formatString(data) {\n return (data === null || data === void 0 ? void 0 : data.replace(/[\\n\\r\\t ]/g, "")) || "";\n }\n};\n__name(Convert, "Convert");\nConvert.DEFAULT_UTF8_ENCODING = "utf8";\nfunction combine(...buf) {\n const totalByteLength = buf.map((item) => item.byteLength).reduce((prev, cur) => prev + cur);\n const res = new Uint8Array(totalByteLength);\n let currentPos = 0;\n buf.map((item) => new Uint8Array(item)).forEach((arr) => {\n for (const item2 of arr) {\n res[currentPos++] = item2;\n }\n });\n return res.buffer;\n}\n__name(combine, "combine");\n\n// ../../node_modules/.pnpm/asn1js@3.0.5/node_modules/asn1js/build/index.es.js\nvar index_es_exports = {};\n__export(index_es_exports, {\n Any: () => Any,\n BaseBlock: () => BaseBlock,\n BaseStringBlock: () => BaseStringBlock,\n BitString: () => BitString,\n BmpString: () => BmpString,\n Boolean: () => Boolean,\n CharacterString: () => CharacterString,\n Choice: () => Choice,\n Constructed: () => Constructed,\n DATE: () => DATE,\n DateTime: () => DateTime,\n Duration: () => Duration,\n EndOfContent: () => EndOfContent,\n Enumerated: () => Enumerated,\n GeneralString: () => GeneralString,\n GeneralizedTime: () => GeneralizedTime,\n GraphicString: () => GraphicString,\n HexBlock: () => HexBlock,\n IA5String: () => IA5String,\n Integer: () => Integer,\n Null: () => Null,\n NumericString: () => NumericString,\n ObjectIdentifier: () => ObjectIdentifier,\n OctetString: () => OctetString,\n Primitive: () => Primitive,\n PrintableString: () => PrintableString,\n RawData: () => RawData,\n RelativeObjectIdentifier: () => RelativeObjectIdentifier,\n Repeated: () => Repeated,\n Sequence: () => Sequence,\n Set: () => Set,\n TIME: () => TIME,\n TeletexString: () => TeletexString,\n TimeOfDay: () => TimeOfDay,\n UTCTime: () => UTCTime,\n UniversalString: () => UniversalString,\n Utf8String: () => Utf8String,\n ValueBlock: () => ValueBlock,\n VideotexString: () => VideotexString,\n ViewWriter: () => ViewWriter,\n VisibleString: () => VisibleString,\n compareSchema: () => compareSchema,\n fromBER: () => fromBER,\n verifySchema: () => verifySchema\n});\n\n// ../../node_modules/.pnpm/pvutils@1.1.3/node_modules/pvutils/build/utils.es.js\nfunction utilFromBase(inputBuffer, inputBase) {\n let result = 0;\n if (inputBuffer.length === 1) {\n return inputBuffer[0];\n }\n for (let i = inputBuffer.length - 1; i >= 0; i--) {\n result += inputBuffer[inputBuffer.length - 1 - i] * Math.pow(2, inputBase * i);\n }\n return result;\n}\n__name(utilFromBase, "utilFromBase");\nfunction utilToBase(value, base, reserved = -1) {\n const internalReserved = reserved;\n let internalValue = value;\n let result = 0;\n let biggest = Math.pow(2, base);\n for (let i = 1; i < 8; i++) {\n if (value < biggest) {\n let retBuf;\n if (internalReserved < 0) {\n retBuf = new ArrayBuffer(i);\n result = i;\n } else {\n if (internalReserved < i) {\n return new ArrayBuffer(0);\n }\n retBuf = new ArrayBuffer(internalReserved);\n result = internalReserved;\n }\n const retView = new Uint8Array(retBuf);\n for (let j = i - 1; j >= 0; j--) {\n const basis = Math.pow(2, j * base);\n retView[result - j - 1] = Math.floor(internalValue / basis);\n internalValue -= retView[result - j - 1] * basis;\n }\n return retBuf;\n }\n biggest *= Math.pow(2, base);\n }\n return new ArrayBuffer(0);\n}\n__name(utilToBase, "utilToBase");\nfunction utilConcatView(...views) {\n let outputLength = 0;\n let prevLength = 0;\n for (const view of views) {\n outputLength += view.length;\n }\n const retBuf = new ArrayBuffer(outputLength);\n const retView = new Uint8Array(retBuf);\n for (const view of views) {\n retView.set(view, prevLength);\n prevLength += view.length;\n }\n return retView;\n}\n__name(utilConcatView, "utilConcatView");\nfunction utilDecodeTC() {\n const buf = new Uint8Array(this.valueHex);\n if (this.valueHex.byteLength >= 2) {\n const condition1 = buf[0] === 255 && buf[1] & 128;\n const condition2 = buf[0] === 0 && (buf[1] & 128) === 0;\n if (condition1 || condition2) {\n this.warnings.push("Needlessly long format");\n }\n }\n const bigIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\n const bigIntView = new Uint8Array(bigIntBuffer);\n for (let i = 0; i < this.valueHex.byteLength; i++) {\n bigIntView[i] = 0;\n }\n bigIntView[0] = buf[0] & 128;\n const bigInt = utilFromBase(bigIntView, 8);\n const smallIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\n const smallIntView = new Uint8Array(smallIntBuffer);\n for (let j = 0; j < this.valueHex.byteLength; j++) {\n smallIntView[j] = buf[j];\n }\n smallIntView[0] &= 127;\n const smallInt = utilFromBase(smallIntView, 8);\n return smallInt - bigInt;\n}\n__name(utilDecodeTC, "utilDecodeTC");\nfunction utilEncodeTC(value) {\n const modValue = value < 0 ? value * -1 : value;\n let bigInt = 128;\n for (let i = 1; i < 8; i++) {\n if (modValue <= bigInt) {\n if (value < 0) {\n const smallInt = bigInt - modValue;\n const retBuf2 = utilToBase(smallInt, 8, i);\n const retView2 = new Uint8Array(retBuf2);\n retView2[0] |= 128;\n return retBuf2;\n }\n let retBuf = utilToBase(modValue, 8, i);\n let retView = new Uint8Array(retBuf);\n if (retView[0] & 128) {\n const tempBuf = retBuf.slice(0);\n const tempView = new Uint8Array(tempBuf);\n retBuf = new ArrayBuffer(retBuf.byteLength + 1);\n retView = new Uint8Array(retBuf);\n for (let k = 0; k < tempBuf.byteLength; k++) {\n retView[k + 1] = tempView[k];\n }\n retView[0] = 0;\n }\n return retBuf;\n }\n bigInt *= Math.pow(2, 8);\n }\n return new ArrayBuffer(0);\n}\n__name(utilEncodeTC, "utilEncodeTC");\nfunction isEqualBuffer(inputBuffer1, inputBuffer2) {\n if (inputBuffer1.byteLength !== inputBuffer2.byteLength) {\n return false;\n }\n const view1 = new Uint8Array(inputBuffer1);\n const view2 = new Uint8Array(inputBuffer2);\n for (let i = 0; i < view1.length; i++) {\n if (view1[i] !== view2[i]) {\n return false;\n }\n }\n return true;\n}\n__name(isEqualBuffer, "isEqualBuffer");\nfunction padNumber(inputNumber, fullLength) {\n const str = inputNumber.toString(10);\n if (fullLength < str.length) {\n return "";\n }\n const dif = fullLength - str.length;\n const padding = new Array(dif);\n for (let i = 0; i < dif; i++) {\n padding[i] = "0";\n }\n const paddingString = padding.join("");\n return paddingString.concat(str);\n}\n__name(padNumber, "padNumber");\nvar log2 = Math.log(2);\n\n// ../../node_modules/.pnpm/asn1js@3.0.5/node_modules/asn1js/build/index.es.js\nfunction assertBigInt() {\n if (typeof BigInt === "undefined") {\n throw new Error("BigInt is not defined. Your environment doesn\'t implement BigInt.");\n }\n}\n__name(assertBigInt, "assertBigInt");\nfunction concat(buffers) {\n let outputLength = 0;\n let prevLength = 0;\n for (let i = 0; i < buffers.length; i++) {\n const buffer = buffers[i];\n outputLength += buffer.byteLength;\n }\n const retView = new Uint8Array(outputLength);\n for (let i = 0; i < buffers.length; i++) {\n const buffer = buffers[i];\n retView.set(new Uint8Array(buffer), prevLength);\n prevLength += buffer.byteLength;\n }\n return retView.buffer;\n}\n__name(concat, "concat");\nfunction checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength) {\n if (!(inputBuffer instanceof Uint8Array)) {\n baseBlock.error = "Wrong parameter: inputBuffer must be \'Uint8Array\'";\n return false;\n }\n if (!inputBuffer.byteLength) {\n baseBlock.error = "Wrong parameter: inputBuffer has zero length";\n return false;\n }\n if (inputOffset < 0) {\n baseBlock.error = "Wrong parameter: inputOffset less than zero";\n return false;\n }\n if (inputLength < 0) {\n baseBlock.error = "Wrong parameter: inputLength less than zero";\n return false;\n }\n if (inputBuffer.byteLength - inputOffset - inputLength < 0) {\n baseBlock.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\n return false;\n }\n return true;\n}\n__name(checkBufferParams, "checkBufferParams");\nvar ViewWriter = class {\n constructor() {\n this.items = [];\n }\n write(buf) {\n this.items.push(buf);\n }\n final() {\n return concat(this.items);\n }\n};\n__name(ViewWriter, "ViewWriter");\nvar powers2 = [new Uint8Array([1])];\nvar digitsString = "0123456789";\nvar NAME = "name";\nvar VALUE_HEX_VIEW = "valueHexView";\nvar IS_HEX_ONLY = "isHexOnly";\nvar ID_BLOCK = "idBlock";\nvar TAG_CLASS = "tagClass";\nvar TAG_NUMBER = "tagNumber";\nvar IS_CONSTRUCTED = "isConstructed";\nvar FROM_BER = "fromBER";\nvar TO_BER = "toBER";\nvar LOCAL = "local";\nvar EMPTY_STRING = "";\nvar EMPTY_BUFFER = new ArrayBuffer(0);\nvar EMPTY_VIEW = new Uint8Array(0);\nvar END_OF_CONTENT_NAME = "EndOfContent";\nvar OCTET_STRING_NAME = "OCTET STRING";\nvar BIT_STRING_NAME = "BIT STRING";\nfunction HexBlock(BaseClass) {\n var _a2;\n return _a2 = /* @__PURE__ */ __name(class Some extends BaseClass {\n constructor(...args) {\n var _a3;\n super(...args);\n const params = args[0] || {};\n this.isHexOnly = (_a3 = params.isHexOnly) !== null && _a3 !== void 0 ? _a3 : false;\n this.valueHexView = params.valueHex ? BufferSourceConverter.toUint8Array(params.valueHex) : EMPTY_VIEW;\n }\n get valueHex() {\n return this.valueHexView.slice().buffer;\n }\n set valueHex(value) {\n this.valueHexView = new Uint8Array(value);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n const endLength = inputOffset + inputLength;\n this.valueHexView = view.subarray(inputOffset, endLength);\n if (!this.valueHexView.length) {\n this.warnings.push("Zero buffer length");\n return inputOffset;\n }\n this.blockLength = inputLength;\n return endLength;\n }\n toBER(sizeOnly = false) {\n if (!this.isHexOnly) {\n this.error = "Flag \'isHexOnly\' is not set, abort";\n return EMPTY_BUFFER;\n }\n if (sizeOnly) {\n return new ArrayBuffer(this.valueHexView.byteLength);\n }\n return this.valueHexView.byteLength === this.valueHexView.buffer.byteLength ? this.valueHexView.buffer : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isHexOnly: this.isHexOnly,\n valueHex: Convert.ToHex(this.valueHexView)\n };\n }\n }, "Some"), _a2.NAME = "hexBlock", _a2;\n}\n__name(HexBlock, "HexBlock");\nvar LocalBaseBlock = class {\n constructor({ blockLength = 0, error = EMPTY_STRING, warnings = [], valueBeforeDecode = EMPTY_VIEW } = {}) {\n this.blockLength = blockLength;\n this.error = error;\n this.warnings = warnings;\n this.valueBeforeDecodeView = BufferSourceConverter.toUint8Array(valueBeforeDecode);\n }\n static blockName() {\n return this.NAME;\n }\n get valueBeforeDecode() {\n return this.valueBeforeDecodeView.slice().buffer;\n }\n set valueBeforeDecode(value) {\n this.valueBeforeDecodeView = new Uint8Array(value);\n }\n toJSON() {\n return {\n blockName: this.constructor.NAME,\n blockLength: this.blockLength,\n error: this.error,\n warnings: this.warnings,\n valueBeforeDecode: Convert.ToHex(this.valueBeforeDecodeView)\n };\n }\n};\n__name(LocalBaseBlock, "LocalBaseBlock");\nLocalBaseBlock.NAME = "baseBlock";\nvar ValueBlock = class extends LocalBaseBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\n }\n toBER(sizeOnly, writer) {\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\n }\n};\n__name(ValueBlock, "ValueBlock");\nValueBlock.NAME = "valueBlock";\nvar LocalIdentificationBlock = class extends HexBlock(LocalBaseBlock) {\n constructor({ idBlock = {} } = {}) {\n var _a2, _b, _c, _d;\n super();\n if (idBlock) {\n this.isHexOnly = (_a2 = idBlock.isHexOnly) !== null && _a2 !== void 0 ? _a2 : false;\n this.valueHexView = idBlock.valueHex ? BufferSourceConverter.toUint8Array(idBlock.valueHex) : EMPTY_VIEW;\n this.tagClass = (_b = idBlock.tagClass) !== null && _b !== void 0 ? _b : -1;\n this.tagNumber = (_c = idBlock.tagNumber) !== null && _c !== void 0 ? _c : -1;\n this.isConstructed = (_d = idBlock.isConstructed) !== null && _d !== void 0 ? _d : false;\n } else {\n this.tagClass = -1;\n this.tagNumber = -1;\n this.isConstructed = false;\n }\n }\n toBER(sizeOnly = false) {\n let firstOctet = 0;\n switch (this.tagClass) {\n case 1:\n firstOctet |= 0;\n break;\n case 2:\n firstOctet |= 64;\n break;\n case 3:\n firstOctet |= 128;\n break;\n case 4:\n firstOctet |= 192;\n break;\n default:\n this.error = "Unknown tag class";\n return EMPTY_BUFFER;\n }\n if (this.isConstructed)\n firstOctet |= 32;\n if (this.tagNumber < 31 && !this.isHexOnly) {\n const retView2 = new Uint8Array(1);\n if (!sizeOnly) {\n let number = this.tagNumber;\n number &= 31;\n firstOctet |= number;\n retView2[0] = firstOctet;\n }\n return retView2.buffer;\n }\n if (!this.isHexOnly) {\n const encodedBuf = utilToBase(this.tagNumber, 7);\n const encodedView = new Uint8Array(encodedBuf);\n const size = encodedBuf.byteLength;\n const retView2 = new Uint8Array(size + 1);\n retView2[0] = firstOctet | 31;\n if (!sizeOnly) {\n for (let i = 0; i < size - 1; i++)\n retView2[i + 1] = encodedView[i] | 128;\n retView2[size] = encodedView[size - 1];\n }\n return retView2.buffer;\n }\n const retView = new Uint8Array(this.valueHexView.byteLength + 1);\n retView[0] = firstOctet | 31;\n if (!sizeOnly) {\n const curView = this.valueHexView;\n for (let i = 0; i < curView.length - 1; i++)\n retView[i + 1] = curView[i] | 128;\n retView[this.valueHexView.byteLength] = curView[curView.length - 1];\n }\n return retView.buffer;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n if (intBuffer.length === 0) {\n this.error = "Zero buffer length";\n return -1;\n }\n const tagClassMask = intBuffer[0] & 192;\n switch (tagClassMask) {\n case 0:\n this.tagClass = 1;\n break;\n case 64:\n this.tagClass = 2;\n break;\n case 128:\n this.tagClass = 3;\n break;\n case 192:\n this.tagClass = 4;\n break;\n default:\n this.error = "Unknown tag class";\n return -1;\n }\n this.isConstructed = (intBuffer[0] & 32) === 32;\n this.isHexOnly = false;\n const tagNumberMask = intBuffer[0] & 31;\n if (tagNumberMask !== 31) {\n this.tagNumber = tagNumberMask;\n this.blockLength = 1;\n } else {\n let count = 1;\n let intTagNumberBuffer = this.valueHexView = new Uint8Array(255);\n let tagNumberBufferMaxLength = 255;\n while (intBuffer[count] & 128) {\n intTagNumberBuffer[count - 1] = intBuffer[count] & 127;\n count++;\n if (count >= intBuffer.length) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (count === tagNumberBufferMaxLength) {\n tagNumberBufferMaxLength += 255;\n const tempBufferView2 = new Uint8Array(tagNumberBufferMaxLength);\n for (let i = 0; i < intTagNumberBuffer.length; i++)\n tempBufferView2[i] = intTagNumberBuffer[i];\n intTagNumberBuffer = this.valueHexView = new Uint8Array(tagNumberBufferMaxLength);\n }\n }\n this.blockLength = count + 1;\n intTagNumberBuffer[count - 1] = intBuffer[count] & 127;\n const tempBufferView = new Uint8Array(count);\n for (let i = 0; i < count; i++)\n tempBufferView[i] = intTagNumberBuffer[i];\n intTagNumberBuffer = this.valueHexView = new Uint8Array(count);\n intTagNumberBuffer.set(tempBufferView);\n if (this.blockLength <= 9)\n this.tagNumber = utilFromBase(intTagNumberBuffer, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Tag too long, represented as hex-coded");\n }\n }\n if (this.tagClass === 1 && this.isConstructed) {\n switch (this.tagNumber) {\n case 1:\n case 2:\n case 5:\n case 6:\n case 9:\n case 13:\n case 14:\n case 23:\n case 24:\n case 31:\n case 32:\n case 33:\n case 34:\n this.error = "Constructed encoding used for primitive type";\n return -1;\n }\n }\n return inputOffset + this.blockLength;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n tagClass: this.tagClass,\n tagNumber: this.tagNumber,\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalIdentificationBlock, "LocalIdentificationBlock");\nLocalIdentificationBlock.NAME = "identificationBlock";\nvar LocalLengthBlock = class extends LocalBaseBlock {\n constructor({ lenBlock = {} } = {}) {\n var _a2, _b, _c;\n super();\n this.isIndefiniteForm = (_a2 = lenBlock.isIndefiniteForm) !== null && _a2 !== void 0 ? _a2 : false;\n this.longFormUsed = (_b = lenBlock.longFormUsed) !== null && _b !== void 0 ? _b : false;\n this.length = (_c = lenBlock.length) !== null && _c !== void 0 ? _c : 0;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = view.subarray(inputOffset, inputOffset + inputLength);\n if (intBuffer.length === 0) {\n this.error = "Zero buffer length";\n return -1;\n }\n if (intBuffer[0] === 255) {\n this.error = "Length block 0xFF is reserved by standard";\n return -1;\n }\n this.isIndefiniteForm = intBuffer[0] === 128;\n if (this.isIndefiniteForm) {\n this.blockLength = 1;\n return inputOffset + this.blockLength;\n }\n this.longFormUsed = !!(intBuffer[0] & 128);\n if (this.longFormUsed === false) {\n this.length = intBuffer[0];\n this.blockLength = 1;\n return inputOffset + this.blockLength;\n }\n const count = intBuffer[0] & 127;\n if (count > 8) {\n this.error = "Too big integer";\n return -1;\n }\n if (count + 1 > intBuffer.length) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n const lenOffset = inputOffset + 1;\n const lengthBufferView = view.subarray(lenOffset, lenOffset + count);\n if (lengthBufferView[count - 1] === 0)\n this.warnings.push("Needlessly long encoded length");\n this.length = utilFromBase(lengthBufferView, 8);\n if (this.longFormUsed && this.length <= 127)\n this.warnings.push("Unnecessary usage of long length form");\n this.blockLength = count + 1;\n return inputOffset + this.blockLength;\n }\n toBER(sizeOnly = false) {\n let retBuf;\n let retView;\n if (this.length > 127)\n this.longFormUsed = true;\n if (this.isIndefiniteForm) {\n retBuf = new ArrayBuffer(1);\n if (sizeOnly === false) {\n retView = new Uint8Array(retBuf);\n retView[0] = 128;\n }\n return retBuf;\n }\n if (this.longFormUsed) {\n const encodedBuf = utilToBase(this.length, 8);\n if (encodedBuf.byteLength > 127) {\n this.error = "Too big length";\n return EMPTY_BUFFER;\n }\n retBuf = new ArrayBuffer(encodedBuf.byteLength + 1);\n if (sizeOnly)\n return retBuf;\n const encodedView = new Uint8Array(encodedBuf);\n retView = new Uint8Array(retBuf);\n retView[0] = encodedBuf.byteLength | 128;\n for (let i = 0; i < encodedBuf.byteLength; i++)\n retView[i + 1] = encodedView[i];\n return retBuf;\n }\n retBuf = new ArrayBuffer(1);\n if (sizeOnly === false) {\n retView = new Uint8Array(retBuf);\n retView[0] = this.length;\n }\n return retBuf;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isIndefiniteForm: this.isIndefiniteForm,\n longFormUsed: this.longFormUsed,\n length: this.length\n };\n }\n};\n__name(LocalLengthBlock, "LocalLengthBlock");\nLocalLengthBlock.NAME = "lengthBlock";\nvar typeStore = {};\nvar BaseBlock = class extends LocalBaseBlock {\n constructor({ name = EMPTY_STRING, optional = false, primitiveSchema, ...parameters } = {}, valueBlockType) {\n super(parameters);\n this.name = name;\n this.optional = optional;\n if (primitiveSchema) {\n this.primitiveSchema = primitiveSchema;\n }\n this.idBlock = new LocalIdentificationBlock(parameters);\n this.lenBlock = new LocalLengthBlock(parameters);\n this.valueBlock = valueBlockType ? new valueBlockType(parameters) : new ValueBlock(parameters);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n const _writer = writer || new ViewWriter();\n if (!writer) {\n prepareIndefiniteForm(this);\n }\n const idBlockBuf = this.idBlock.toBER(sizeOnly);\n _writer.write(idBlockBuf);\n if (this.lenBlock.isIndefiniteForm) {\n _writer.write(new Uint8Array([128]).buffer);\n this.valueBlock.toBER(sizeOnly, _writer);\n _writer.write(new ArrayBuffer(2));\n } else {\n const valueBlockBuf = this.valueBlock.toBER(sizeOnly);\n this.lenBlock.length = valueBlockBuf.byteLength;\n const lenBlockBuf = this.lenBlock.toBER(sizeOnly);\n _writer.write(lenBlockBuf);\n _writer.write(valueBlockBuf);\n }\n if (!writer) {\n return _writer.final();\n }\n return EMPTY_BUFFER;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n idBlock: this.idBlock.toJSON(),\n lenBlock: this.lenBlock.toJSON(),\n valueBlock: this.valueBlock.toJSON(),\n name: this.name,\n optional: this.optional\n };\n if (this.primitiveSchema)\n object.primitiveSchema = this.primitiveSchema.toJSON();\n return object;\n }\n toString(encoding = "ascii") {\n if (encoding === "ascii") {\n return this.onAsciiEncoding();\n }\n return Convert.ToHex(this.toBER());\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`;\n }\n isEqual(other) {\n if (this === other) {\n return true;\n }\n if (!(other instanceof this.constructor)) {\n return false;\n }\n const thisRaw = this.toBER();\n const otherRaw = other.toBER();\n return isEqualBuffer(thisRaw, otherRaw);\n }\n};\n__name(BaseBlock, "BaseBlock");\nBaseBlock.NAME = "BaseBlock";\nfunction prepareIndefiniteForm(baseBlock) {\n if (baseBlock instanceof typeStore.Constructed) {\n for (const value of baseBlock.valueBlock.value) {\n if (prepareIndefiniteForm(value)) {\n baseBlock.lenBlock.isIndefiniteForm = true;\n }\n }\n }\n return !!baseBlock.lenBlock.isIndefiniteForm;\n}\n__name(prepareIndefiniteForm, "prepareIndefiniteForm");\nvar BaseStringBlock = class extends BaseBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}, stringValueBlockType) {\n super(parameters, stringValueBlockType);\n if (value) {\n this.fromString(value);\n }\n }\n getValue() {\n return this.valueBlock.value;\n }\n setValue(value) {\n this.valueBlock.value = value;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n this.fromBuffer(this.valueBlock.valueHexView);\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : \'${this.valueBlock.value}\'`;\n }\n};\n__name(BaseStringBlock, "BaseStringBlock");\nBaseStringBlock.NAME = "BaseStringBlock";\nvar LocalPrimitiveValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ isHexOnly = true, ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = isHexOnly;\n }\n};\n__name(LocalPrimitiveValueBlock, "LocalPrimitiveValueBlock");\nLocalPrimitiveValueBlock.NAME = "PrimitiveValueBlock";\nvar _a$w;\nvar Primitive = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalPrimitiveValueBlock);\n this.idBlock.isConstructed = false;\n }\n};\n__name(Primitive, "Primitive");\n_a$w = Primitive;\n(() => {\n typeStore.Primitive = _a$w;\n})();\nPrimitive.NAME = "PRIMITIVE";\nfunction localChangeType(inputObject, newType) {\n if (inputObject instanceof newType) {\n return inputObject;\n }\n const newObject = new newType();\n newObject.idBlock = inputObject.idBlock;\n newObject.lenBlock = inputObject.lenBlock;\n newObject.warnings = inputObject.warnings;\n newObject.valueBeforeDecodeView = inputObject.valueBeforeDecodeView;\n return newObject;\n}\n__name(localChangeType, "localChangeType");\nfunction localFromBER(inputBuffer, inputOffset = 0, inputLength = inputBuffer.length) {\n const incomingOffset = inputOffset;\n let returnObject = new BaseBlock({}, ValueBlock);\n const baseBlock = new LocalBaseBlock();\n if (!checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength)) {\n returnObject.error = baseBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n const intBuffer = inputBuffer.subarray(inputOffset, inputOffset + inputLength);\n if (!intBuffer.length) {\n returnObject.error = "Zero buffer length";\n return {\n offset: -1,\n result: returnObject\n };\n }\n let resultOffset = returnObject.idBlock.fromBER(inputBuffer, inputOffset, inputLength);\n if (returnObject.idBlock.warnings.length) {\n returnObject.warnings.concat(returnObject.idBlock.warnings);\n }\n if (resultOffset === -1) {\n returnObject.error = returnObject.idBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n inputOffset = resultOffset;\n inputLength -= returnObject.idBlock.blockLength;\n resultOffset = returnObject.lenBlock.fromBER(inputBuffer, inputOffset, inputLength);\n if (returnObject.lenBlock.warnings.length) {\n returnObject.warnings.concat(returnObject.lenBlock.warnings);\n }\n if (resultOffset === -1) {\n returnObject.error = returnObject.lenBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n inputOffset = resultOffset;\n inputLength -= returnObject.lenBlock.blockLength;\n if (!returnObject.idBlock.isConstructed && returnObject.lenBlock.isIndefiniteForm) {\n returnObject.error = "Indefinite length form used for primitive encoding form";\n return {\n offset: -1,\n result: returnObject\n };\n }\n let newASN1Type = BaseBlock;\n switch (returnObject.idBlock.tagClass) {\n case 1:\n if (returnObject.idBlock.tagNumber >= 37 && returnObject.idBlock.isHexOnly === false) {\n returnObject.error = "UNIVERSAL 37 and upper tags are reserved by ASN.1 standard";\n return {\n offset: -1,\n result: returnObject\n };\n }\n switch (returnObject.idBlock.tagNumber) {\n case 0:\n if (returnObject.idBlock.isConstructed && returnObject.lenBlock.length > 0) {\n returnObject.error = "Type [UNIVERSAL 0] is reserved";\n return {\n offset: -1,\n result: returnObject\n };\n }\n newASN1Type = typeStore.EndOfContent;\n break;\n case 1:\n newASN1Type = typeStore.Boolean;\n break;\n case 2:\n newASN1Type = typeStore.Integer;\n break;\n case 3:\n newASN1Type = typeStore.BitString;\n break;\n case 4:\n newASN1Type = typeStore.OctetString;\n break;\n case 5:\n newASN1Type = typeStore.Null;\n break;\n case 6:\n newASN1Type = typeStore.ObjectIdentifier;\n break;\n case 10:\n newASN1Type = typeStore.Enumerated;\n break;\n case 12:\n newASN1Type = typeStore.Utf8String;\n break;\n case 13:\n newASN1Type = typeStore.RelativeObjectIdentifier;\n break;\n case 14:\n newASN1Type = typeStore.TIME;\n break;\n case 15:\n returnObject.error = "[UNIVERSAL 15] is reserved by ASN.1 standard";\n return {\n offset: -1,\n result: returnObject\n };\n case 16:\n newASN1Type = typeStore.Sequence;\n break;\n case 17:\n newASN1Type = typeStore.Set;\n break;\n case 18:\n newASN1Type = typeStore.NumericString;\n break;\n case 19:\n newASN1Type = typeStore.PrintableString;\n break;\n case 20:\n newASN1Type = typeStore.TeletexString;\n break;\n case 21:\n newASN1Type = typeStore.VideotexString;\n break;\n case 22:\n newASN1Type = typeStore.IA5String;\n break;\n case 23:\n newASN1Type = typeStore.UTCTime;\n break;\n case 24:\n newASN1Type = typeStore.GeneralizedTime;\n break;\n case 25:\n newASN1Type = typeStore.GraphicString;\n break;\n case 26:\n newASN1Type = typeStore.VisibleString;\n break;\n case 27:\n newASN1Type = typeStore.GeneralString;\n break;\n case 28:\n newASN1Type = typeStore.UniversalString;\n break;\n case 29:\n newASN1Type = typeStore.CharacterString;\n break;\n case 30:\n newASN1Type = typeStore.BmpString;\n break;\n case 31:\n newASN1Type = typeStore.DATE;\n break;\n case 32:\n newASN1Type = typeStore.TimeOfDay;\n break;\n case 33:\n newASN1Type = typeStore.DateTime;\n break;\n case 34:\n newASN1Type = typeStore.Duration;\n break;\n default: {\n const newObject = returnObject.idBlock.isConstructed ? new typeStore.Constructed() : new typeStore.Primitive();\n newObject.idBlock = returnObject.idBlock;\n newObject.lenBlock = returnObject.lenBlock;\n newObject.warnings = returnObject.warnings;\n returnObject = newObject;\n }\n }\n break;\n case 2:\n case 3:\n case 4:\n default: {\n newASN1Type = returnObject.idBlock.isConstructed ? typeStore.Constructed : typeStore.Primitive;\n }\n }\n returnObject = localChangeType(returnObject, newASN1Type);\n resultOffset = returnObject.fromBER(inputBuffer, inputOffset, returnObject.lenBlock.isIndefiniteForm ? inputLength : returnObject.lenBlock.length);\n returnObject.valueBeforeDecodeView = inputBuffer.subarray(incomingOffset, incomingOffset + returnObject.blockLength);\n return {\n offset: resultOffset,\n result: returnObject\n };\n}\n__name(localFromBER, "localFromBER");\nfunction fromBER(inputBuffer) {\n if (!inputBuffer.byteLength) {\n const result = new BaseBlock({}, ValueBlock);\n result.error = "Input buffer has zero length";\n return {\n offset: -1,\n result\n };\n }\n return localFromBER(BufferSourceConverter.toUint8Array(inputBuffer).slice(), 0, inputBuffer.byteLength);\n}\n__name(fromBER, "fromBER");\nfunction checkLen(indefiniteLength, length) {\n if (indefiniteLength) {\n return 1;\n }\n return length;\n}\n__name(checkLen, "checkLen");\nvar LocalConstructedValueBlock = class extends ValueBlock {\n constructor({ value = [], isIndefiniteForm = false, ...parameters } = {}) {\n super(parameters);\n this.value = value;\n this.isIndefiniteForm = isIndefiniteForm;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n this.valueBeforeDecodeView = view.subarray(inputOffset, inputOffset + inputLength);\n if (this.valueBeforeDecodeView.length === 0) {\n this.warnings.push("Zero buffer length");\n return inputOffset;\n }\n let currentOffset = inputOffset;\n while (checkLen(this.isIndefiniteForm, inputLength) > 0) {\n const returnObject = localFromBER(view, currentOffset, inputLength);\n if (returnObject.offset === -1) {\n this.error = returnObject.result.error;\n this.warnings.concat(returnObject.result.warnings);\n return -1;\n }\n currentOffset = returnObject.offset;\n this.blockLength += returnObject.result.blockLength;\n inputLength -= returnObject.result.blockLength;\n this.value.push(returnObject.result);\n if (this.isIndefiniteForm && returnObject.result.constructor.NAME === END_OF_CONTENT_NAME) {\n break;\n }\n }\n if (this.isIndefiniteForm) {\n if (this.value[this.value.length - 1].constructor.NAME === END_OF_CONTENT_NAME) {\n this.value.pop();\n } else {\n this.warnings.push("No EndOfContent block encoded");\n }\n }\n return currentOffset;\n }\n toBER(sizeOnly, writer) {\n const _writer = writer || new ViewWriter();\n for (let i = 0; i < this.value.length; i++) {\n this.value[i].toBER(sizeOnly, _writer);\n }\n if (!writer) {\n return _writer.final();\n }\n return EMPTY_BUFFER;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n isIndefiniteForm: this.isIndefiniteForm,\n value: []\n };\n for (const value of this.value) {\n object.value.push(value.toJSON());\n }\n return object;\n }\n};\n__name(LocalConstructedValueBlock, "LocalConstructedValueBlock");\nLocalConstructedValueBlock.NAME = "ConstructedValueBlock";\nvar _a$v;\nvar Constructed = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalConstructedValueBlock);\n this.idBlock.isConstructed = true;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n onAsciiEncoding() {\n const values = [];\n for (const value of this.valueBlock.value) {\n values.push(value.toString("ascii").split("\\n").map((o) => ` ${o}`).join("\\n"));\n }\n const blockName = this.idBlock.tagClass === 3 ? `[${this.idBlock.tagNumber}]` : this.constructor.NAME;\n return values.length ? `${blockName} :\n${values.join("\\n")}` : `${blockName} :`;\n }\n};\n__name(Constructed, "Constructed");\n_a$v = Constructed;\n(() => {\n typeStore.Constructed = _a$v;\n})();\nConstructed.NAME = "CONSTRUCTED";\nvar LocalEndOfContentValueBlock = class extends ValueBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n return inputOffset;\n }\n toBER(sizeOnly) {\n return EMPTY_BUFFER;\n }\n};\n__name(LocalEndOfContentValueBlock, "LocalEndOfContentValueBlock");\nLocalEndOfContentValueBlock.override = "EndOfContentValueBlock";\nvar _a$u;\nvar EndOfContent = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalEndOfContentValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 0;\n }\n};\n__name(EndOfContent, "EndOfContent");\n_a$u = EndOfContent;\n(() => {\n typeStore.EndOfContent = _a$u;\n})();\nEndOfContent.NAME = END_OF_CONTENT_NAME;\nvar _a$t;\nvar Null = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, ValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 5;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (this.lenBlock.length > 0)\n this.warnings.push("Non-zero length of value block for Null type");\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n this.blockLength += inputLength;\n if (inputOffset + inputLength > inputBuffer.byteLength) {\n this.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\n return -1;\n }\n return inputOffset + inputLength;\n }\n toBER(sizeOnly, writer) {\n const retBuf = new ArrayBuffer(2);\n if (!sizeOnly) {\n const retView = new Uint8Array(retBuf);\n retView[0] = 5;\n retView[1] = 0;\n }\n if (writer) {\n writer.write(retBuf);\n }\n return retBuf;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME}`;\n }\n};\n__name(Null, "Null");\n_a$t = Null;\n(() => {\n typeStore.Null = _a$t;\n})();\nNull.NAME = "NULL";\nvar LocalBooleanValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ value, ...parameters } = {}) {\n super(parameters);\n if (parameters.valueHex) {\n this.valueHexView = BufferSourceConverter.toUint8Array(parameters.valueHex);\n } else {\n this.valueHexView = new Uint8Array(1);\n }\n if (value) {\n this.value = value;\n }\n }\n get value() {\n for (const octet of this.valueHexView) {\n if (octet > 0) {\n return true;\n }\n }\n return false;\n }\n set value(value) {\n this.valueHexView[0] = value ? 255 : 0;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n this.valueHexView = inputView.subarray(inputOffset, inputOffset + inputLength);\n if (inputLength > 1)\n this.warnings.push("Boolean value encoded in more then 1 octet");\n this.isHexOnly = true;\n utilDecodeTC.call(this);\n this.blockLength = inputLength;\n return inputOffset + inputLength;\n }\n toBER() {\n return this.valueHexView.slice();\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.value\n };\n }\n};\n__name(LocalBooleanValueBlock, "LocalBooleanValueBlock");\nLocalBooleanValueBlock.NAME = "BooleanValueBlock";\nvar _a$s;\nvar Boolean = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalBooleanValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 1;\n }\n getValue() {\n return this.valueBlock.value;\n }\n setValue(value) {\n this.valueBlock.value = value;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.getValue}`;\n }\n};\n__name(Boolean, "Boolean");\n_a$s = Boolean;\n(() => {\n typeStore.Boolean = _a$s;\n})();\nBoolean.NAME = "BOOLEAN";\nvar LocalOctetStringValueBlock = class extends HexBlock(LocalConstructedValueBlock) {\n constructor({ isConstructed = false, ...parameters } = {}) {\n super(parameters);\n this.isConstructed = isConstructed;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = 0;\n if (this.isConstructed) {\n this.isHexOnly = false;\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1)\n return resultOffset;\n for (let i = 0; i < this.value.length; i++) {\n const currentBlockName = this.value[i].constructor.NAME;\n if (currentBlockName === END_OF_CONTENT_NAME) {\n if (this.isIndefiniteForm)\n break;\n else {\n this.error = "EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only";\n return -1;\n }\n }\n if (currentBlockName !== OCTET_STRING_NAME) {\n this.error = "OCTET STRING may consists of OCTET STRINGs only";\n return -1;\n }\n }\n } else {\n this.isHexOnly = true;\n resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\n this.blockLength = inputLength;\n }\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n if (this.isConstructed)\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\n return sizeOnly ? new ArrayBuffer(this.valueHexView.byteLength) : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalOctetStringValueBlock, "LocalOctetStringValueBlock");\nLocalOctetStringValueBlock.NAME = "OctetStringValueBlock";\nvar _a$r;\nvar OctetString = class extends BaseBlock {\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\n var _b, _c;\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length);\n super({\n idBlock: {\n isConstructed: parameters.isConstructed,\n ...idBlock\n },\n lenBlock: {\n ...lenBlock,\n isIndefiniteForm: !!parameters.isIndefiniteForm\n },\n ...parameters\n }, LocalOctetStringValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 4;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n if (inputLength === 0) {\n if (this.idBlock.error.length === 0)\n this.blockLength += this.idBlock.blockLength;\n if (this.lenBlock.error.length === 0)\n this.blockLength += this.lenBlock.blockLength;\n return inputOffset;\n }\n if (!this.valueBlock.isConstructed) {\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\n const buf = view.subarray(inputOffset, inputOffset + inputLength);\n try {\n if (buf.byteLength) {\n const asn = localFromBER(buf, 0, buf.byteLength);\n if (asn.offset !== -1 && asn.offset === inputLength) {\n this.valueBlock.value = [asn.result];\n }\n }\n } catch (e) {\n }\n }\n return super.fromBER(inputBuffer, inputOffset, inputLength);\n }\n onAsciiEncoding() {\n if (this.valueBlock.isConstructed || this.valueBlock.value && this.valueBlock.value.length) {\n return Constructed.prototype.onAsciiEncoding.call(this);\n }\n return `${this.constructor.NAME} : ${Convert.ToHex(this.valueBlock.valueHexView)}`;\n }\n getValue() {\n if (!this.idBlock.isConstructed) {\n return this.valueBlock.valueHexView.slice().buffer;\n }\n const array = [];\n for (const content of this.valueBlock.value) {\n if (content instanceof OctetString) {\n array.push(content.valueBlock.valueHexView);\n }\n }\n return BufferSourceConverter.concat(array);\n }\n};\n__name(OctetString, "OctetString");\n_a$r = OctetString;\n(() => {\n typeStore.OctetString = _a$r;\n})();\nOctetString.NAME = OCTET_STRING_NAME;\nvar LocalBitStringValueBlock = class extends HexBlock(LocalConstructedValueBlock) {\n constructor({ unusedBits = 0, isConstructed = false, ...parameters } = {}) {\n super(parameters);\n this.unusedBits = unusedBits;\n this.isConstructed = isConstructed;\n this.blockLength = this.valueHexView.byteLength;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (!inputLength) {\n return inputOffset;\n }\n let resultOffset = -1;\n if (this.isConstructed) {\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1)\n return resultOffset;\n for (const value of this.value) {\n const currentBlockName = value.constructor.NAME;\n if (currentBlockName === END_OF_CONTENT_NAME) {\n if (this.isIndefiniteForm)\n break;\n else {\n this.error = "EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only";\n return -1;\n }\n }\n if (currentBlockName !== BIT_STRING_NAME) {\n this.error = "BIT STRING may consists of BIT STRINGs only";\n return -1;\n }\n const valueBlock = value.valueBlock;\n if (this.unusedBits > 0 && valueBlock.unusedBits > 0) {\n this.error = \'Using of "unused bits" inside constructive BIT STRING allowed for least one only\';\n return -1;\n }\n this.unusedBits = valueBlock.unusedBits;\n }\n return resultOffset;\n }\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.unusedBits = intBuffer[0];\n if (this.unusedBits > 7) {\n this.error = "Unused bits for BitString must be in range 0-7";\n return -1;\n }\n if (!this.unusedBits) {\n const buf = intBuffer.subarray(1);\n try {\n if (buf.byteLength) {\n const asn = localFromBER(buf, 0, buf.byteLength);\n if (asn.offset !== -1 && asn.offset === inputLength - 1) {\n this.value = [asn.result];\n }\n }\n } catch (e) {\n }\n }\n this.valueHexView = intBuffer.subarray(1);\n this.blockLength = intBuffer.length;\n return inputOffset + inputLength;\n }\n toBER(sizeOnly, writer) {\n if (this.isConstructed) {\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\n }\n if (sizeOnly) {\n return new ArrayBuffer(this.valueHexView.byteLength + 1);\n }\n if (!this.valueHexView.byteLength) {\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(this.valueHexView.length + 1);\n retView[0] = this.unusedBits;\n retView.set(this.valueHexView, 1);\n return retView.buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n unusedBits: this.unusedBits,\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalBitStringValueBlock, "LocalBitStringValueBlock");\nLocalBitStringValueBlock.NAME = "BitStringValueBlock";\nvar _a$q;\nvar BitString = class extends BaseBlock {\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\n var _b, _c;\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length);\n super({\n idBlock: {\n isConstructed: parameters.isConstructed,\n ...idBlock\n },\n lenBlock: {\n ...lenBlock,\n isIndefiniteForm: !!parameters.isIndefiniteForm\n },\n ...parameters\n }, LocalBitStringValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 3;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n return super.fromBER(inputBuffer, inputOffset, inputLength);\n }\n onAsciiEncoding() {\n if (this.valueBlock.isConstructed || this.valueBlock.value && this.valueBlock.value.length) {\n return Constructed.prototype.onAsciiEncoding.call(this);\n } else {\n const bits = [];\n const valueHex = this.valueBlock.valueHexView;\n for (const byte of valueHex) {\n bits.push(byte.toString(2).padStart(8, "0"));\n }\n const bitsStr = bits.join("");\n return `${this.constructor.NAME} : ${bitsStr.substring(0, bitsStr.length - this.valueBlock.unusedBits)}`;\n }\n }\n};\n__name(BitString, "BitString");\n_a$q = BitString;\n(() => {\n typeStore.BitString = _a$q;\n})();\nBitString.NAME = BIT_STRING_NAME;\nvar _a$p;\nfunction viewAdd(first, second) {\n const c = new Uint8Array([0]);\n const firstView = new Uint8Array(first);\n const secondView = new Uint8Array(second);\n let firstViewCopy = firstView.slice(0);\n const firstViewCopyLength = firstViewCopy.length - 1;\n const secondViewCopy = secondView.slice(0);\n const secondViewCopyLength = secondViewCopy.length - 1;\n let value = 0;\n const max = secondViewCopyLength < firstViewCopyLength ? firstViewCopyLength : secondViewCopyLength;\n let counter = 0;\n for (let i = max; i >= 0; i--, counter++) {\n switch (true) {\n case counter < secondViewCopy.length:\n value = firstViewCopy[firstViewCopyLength - counter] + secondViewCopy[secondViewCopyLength - counter] + c[0];\n break;\n default:\n value = firstViewCopy[firstViewCopyLength - counter] + c[0];\n }\n c[0] = value / 10;\n switch (true) {\n case counter >= firstViewCopy.length:\n firstViewCopy = utilConcatView(new Uint8Array([value % 10]), firstViewCopy);\n break;\n default:\n firstViewCopy[firstViewCopyLength - counter] = value % 10;\n }\n }\n if (c[0] > 0)\n firstViewCopy = utilConcatView(c, firstViewCopy);\n return firstViewCopy;\n}\n__name(viewAdd, "viewAdd");\nfunction power2(n) {\n if (n >= powers2.length) {\n for (let p = powers2.length; p <= n; p++) {\n const c = new Uint8Array([0]);\n let digits = powers2[p - 1].slice(0);\n for (let i = digits.length - 1; i >= 0; i--) {\n const newValue = new Uint8Array([(digits[i] << 1) + c[0]]);\n c[0] = newValue[0] / 10;\n digits[i] = newValue[0] % 10;\n }\n if (c[0] > 0)\n digits = utilConcatView(c, digits);\n powers2.push(digits);\n }\n }\n return powers2[n];\n}\n__name(power2, "power2");\nfunction viewSub(first, second) {\n let b = 0;\n const firstView = new Uint8Array(first);\n const secondView = new Uint8Array(second);\n const firstViewCopy = firstView.slice(0);\n const firstViewCopyLength = firstViewCopy.length - 1;\n const secondViewCopy = secondView.slice(0);\n const secondViewCopyLength = secondViewCopy.length - 1;\n let value;\n let counter = 0;\n for (let i = secondViewCopyLength; i >= 0; i--, counter++) {\n value = firstViewCopy[firstViewCopyLength - counter] - secondViewCopy[secondViewCopyLength - counter] - b;\n switch (true) {\n case value < 0:\n b = 1;\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\n break;\n default:\n b = 0;\n firstViewCopy[firstViewCopyLength - counter] = value;\n }\n }\n if (b > 0) {\n for (let i = firstViewCopyLength - secondViewCopyLength + 1; i >= 0; i--, counter++) {\n value = firstViewCopy[firstViewCopyLength - counter] - b;\n if (value < 0) {\n b = 1;\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\n } else {\n b = 0;\n firstViewCopy[firstViewCopyLength - counter] = value;\n break;\n }\n }\n }\n return firstViewCopy.slice();\n}\n__name(viewSub, "viewSub");\nvar LocalIntegerValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ value, ...parameters } = {}) {\n super(parameters);\n this._valueDec = 0;\n if (parameters.valueHex) {\n this.setValueHex();\n }\n if (value !== void 0) {\n this.valueDec = value;\n }\n }\n setValueHex() {\n if (this.valueHexView.length >= 4) {\n this.warnings.push("Too big Integer for decoding, hex only");\n this.isHexOnly = true;\n this._valueDec = 0;\n } else {\n this.isHexOnly = false;\n if (this.valueHexView.length > 0) {\n this._valueDec = utilDecodeTC.call(this);\n }\n }\n }\n set valueDec(v) {\n this._valueDec = v;\n this.isHexOnly = false;\n this.valueHexView = new Uint8Array(utilEncodeTC(v));\n }\n get valueDec() {\n return this._valueDec;\n }\n fromDER(inputBuffer, inputOffset, inputLength, expectedLength = 0) {\n const offset = this.fromBER(inputBuffer, inputOffset, inputLength);\n if (offset === -1)\n return offset;\n const view = this.valueHexView;\n if (view[0] === 0 && (view[1] & 128) !== 0) {\n this.valueHexView = view.subarray(1);\n } else {\n if (expectedLength !== 0) {\n if (view.length < expectedLength) {\n if (expectedLength - view.length > 1)\n expectedLength = view.length + 1;\n this.valueHexView = view.subarray(expectedLength - view.length);\n }\n }\n }\n return offset;\n }\n toDER(sizeOnly = false) {\n const view = this.valueHexView;\n switch (true) {\n case (view[0] & 128) !== 0:\n {\n const updatedView = new Uint8Array(this.valueHexView.length + 1);\n updatedView[0] = 0;\n updatedView.set(view, 1);\n this.valueHexView = updatedView;\n }\n break;\n case (view[0] === 0 && (view[1] & 128) === 0):\n {\n this.valueHexView = this.valueHexView.subarray(1);\n }\n break;\n }\n return this.toBER(sizeOnly);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1) {\n return resultOffset;\n }\n this.setValueHex();\n return resultOffset;\n }\n toBER(sizeOnly) {\n return sizeOnly ? new ArrayBuffer(this.valueHexView.length) : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec\n };\n }\n toString() {\n const firstBit = this.valueHexView.length * 8 - 1;\n let digits = new Uint8Array(this.valueHexView.length * 8 / 3);\n let bitNumber = 0;\n let currentByte;\n const asn1View = this.valueHexView;\n let result = "";\n let flag = false;\n for (let byteNumber = asn1View.byteLength - 1; byteNumber >= 0; byteNumber--) {\n currentByte = asn1View[byteNumber];\n for (let i = 0; i < 8; i++) {\n if ((currentByte & 1) === 1) {\n switch (bitNumber) {\n case firstBit:\n digits = viewSub(power2(bitNumber), digits);\n result = "-";\n break;\n default:\n digits = viewAdd(digits, power2(bitNumber));\n }\n }\n bitNumber++;\n currentByte >>= 1;\n }\n }\n for (let i = 0; i < digits.length; i++) {\n if (digits[i])\n flag = true;\n if (flag)\n result += digitsString.charAt(digits[i]);\n }\n if (flag === false)\n result += digitsString.charAt(0);\n return result;\n }\n};\n__name(LocalIntegerValueBlock, "LocalIntegerValueBlock");\n_a$p = LocalIntegerValueBlock;\nLocalIntegerValueBlock.NAME = "IntegerValueBlock";\n(() => {\n Object.defineProperty(_a$p.prototype, "valueHex", {\n set: function(v) {\n this.valueHexView = new Uint8Array(v);\n this.setValueHex();\n },\n get: function() {\n return this.valueHexView.slice().buffer;\n }\n });\n})();\nvar _a$o;\nvar Integer = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalIntegerValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 2;\n }\n toBigInt() {\n assertBigInt();\n return BigInt(this.valueBlock.toString());\n }\n static fromBigInt(value) {\n assertBigInt();\n const bigIntValue = BigInt(value);\n const writer = new ViewWriter();\n const hex = bigIntValue.toString(16).replace(/^-/, "");\n const view = new Uint8Array(Convert.FromHex(hex));\n if (bigIntValue < 0) {\n const first = new Uint8Array(view.length + (view[0] & 128 ? 1 : 0));\n first[0] |= 128;\n const firstInt = BigInt(`0x${Convert.ToHex(first)}`);\n const secondInt = firstInt + bigIntValue;\n const second = BufferSourceConverter.toUint8Array(Convert.FromHex(secondInt.toString(16)));\n second[0] |= 128;\n writer.write(second);\n } else {\n if (view[0] & 128) {\n writer.write(new Uint8Array([0]));\n }\n writer.write(view);\n }\n const res = new Integer({\n valueHex: writer.final()\n });\n return res;\n }\n convertToDER() {\n const integer = new Integer({ valueHex: this.valueBlock.valueHexView });\n integer.valueBlock.toDER();\n return integer;\n }\n convertFromDER() {\n return new Integer({\n valueHex: this.valueBlock.valueHexView[0] === 0 ? this.valueBlock.valueHexView.subarray(1) : this.valueBlock.valueHexView\n });\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString()}`;\n }\n};\n__name(Integer, "Integer");\n_a$o = Integer;\n(() => {\n typeStore.Integer = _a$o;\n})();\nInteger.NAME = "INTEGER";\nvar _a$n;\nvar Enumerated = class extends Integer {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 10;\n }\n};\n__name(Enumerated, "Enumerated");\n_a$n = Enumerated;\n(() => {\n typeStore.Enumerated = _a$n;\n})();\nEnumerated.NAME = "ENUMERATED";\nvar LocalSidValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ valueDec = -1, isFirstSid = false, ...parameters } = {}) {\n super(parameters);\n this.valueDec = valueDec;\n this.isFirstSid = isFirstSid;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (!inputLength) {\n return inputOffset;\n }\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.valueHexView = new Uint8Array(inputLength);\n for (let i = 0; i < inputLength; i++) {\n this.valueHexView[i] = intBuffer[i] & 127;\n this.blockLength++;\n if ((intBuffer[i] & 128) === 0)\n break;\n }\n const tempView = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength; i++) {\n tempView[i] = this.valueHexView[i];\n }\n this.valueHexView = tempView;\n if ((intBuffer[this.blockLength - 1] & 128) !== 0) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (this.valueHexView[0] === 0)\n this.warnings.push("Needlessly long format of SID encoding");\n if (this.blockLength <= 8)\n this.valueDec = utilFromBase(this.valueHexView, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Too big SID for decoding, hex only");\n }\n return inputOffset + this.blockLength;\n }\n set valueBigInt(value) {\n assertBigInt();\n let bits = BigInt(value).toString(2);\n while (bits.length % 7) {\n bits = "0" + bits;\n }\n const bytes = new Uint8Array(bits.length / 7);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = parseInt(bits.slice(i * 7, i * 7 + 7), 2) + (i + 1 < bytes.length ? 128 : 0);\n }\n this.fromBER(bytes.buffer, 0, bytes.length);\n }\n toBER(sizeOnly) {\n if (this.isHexOnly) {\n if (sizeOnly)\n return new ArrayBuffer(this.valueHexView.byteLength);\n const curView = this.valueHexView;\n const retView2 = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength - 1; i++)\n retView2[i] = curView[i] | 128;\n retView2[this.blockLength - 1] = curView[this.blockLength - 1];\n return retView2.buffer;\n }\n const encodedBuf = utilToBase(this.valueDec, 7);\n if (encodedBuf.byteLength === 0) {\n this.error = "Error during encoding SID value";\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(encodedBuf.byteLength);\n if (!sizeOnly) {\n const encodedView = new Uint8Array(encodedBuf);\n const len = encodedBuf.byteLength - 1;\n for (let i = 0; i < len; i++)\n retView[i] = encodedView[i] | 128;\n retView[len] = encodedView[len];\n }\n return retView;\n }\n toString() {\n let result = "";\n if (this.isHexOnly)\n result = Convert.ToHex(this.valueHexView);\n else {\n if (this.isFirstSid) {\n let sidValue = this.valueDec;\n if (this.valueDec <= 39)\n result = "0.";\n else {\n if (this.valueDec <= 79) {\n result = "1.";\n sidValue -= 40;\n } else {\n result = "2.";\n sidValue -= 80;\n }\n }\n result += sidValue.toString();\n } else\n result = this.valueDec.toString();\n }\n return result;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec,\n isFirstSid: this.isFirstSid\n };\n }\n};\n__name(LocalSidValueBlock, "LocalSidValueBlock");\nLocalSidValueBlock.NAME = "sidBlock";\nvar LocalObjectIdentifierValueBlock = class extends ValueBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\n super(parameters);\n this.value = [];\n if (value) {\n this.fromString(value);\n }\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = inputOffset;\n while (inputLength > 0) {\n const sidBlock = new LocalSidValueBlock();\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\n if (resultOffset === -1) {\n this.blockLength = 0;\n this.error = sidBlock.error;\n return resultOffset;\n }\n if (this.value.length === 0)\n sidBlock.isFirstSid = true;\n this.blockLength += sidBlock.blockLength;\n inputLength -= sidBlock.blockLength;\n this.value.push(sidBlock);\n }\n return resultOffset;\n }\n toBER(sizeOnly) {\n const retBuffers = [];\n for (let i = 0; i < this.value.length; i++) {\n const valueBuf = this.value[i].toBER(sizeOnly);\n if (valueBuf.byteLength === 0) {\n this.error = this.value[i].error;\n return EMPTY_BUFFER;\n }\n retBuffers.push(valueBuf);\n }\n return concat(retBuffers);\n }\n fromString(string) {\n this.value = [];\n let pos1 = 0;\n let pos2 = 0;\n let sid = "";\n let flag = false;\n do {\n pos2 = string.indexOf(".", pos1);\n if (pos2 === -1)\n sid = string.substring(pos1);\n else\n sid = string.substring(pos1, pos2);\n pos1 = pos2 + 1;\n if (flag) {\n const sidBlock = this.value[0];\n let plus = 0;\n switch (sidBlock.valueDec) {\n case 0:\n break;\n case 1:\n plus = 40;\n break;\n case 2:\n plus = 80;\n break;\n default:\n this.value = [];\n return;\n }\n const parsedSID = parseInt(sid, 10);\n if (isNaN(parsedSID))\n return;\n sidBlock.valueDec = parsedSID + plus;\n flag = false;\n } else {\n const sidBlock = new LocalSidValueBlock();\n if (sid > Number.MAX_SAFE_INTEGER) {\n assertBigInt();\n const sidValue = BigInt(sid);\n sidBlock.valueBigInt = sidValue;\n } else {\n sidBlock.valueDec = parseInt(sid, 10);\n if (isNaN(sidBlock.valueDec))\n return;\n }\n if (!this.value.length) {\n sidBlock.isFirstSid = true;\n flag = true;\n }\n this.value.push(sidBlock);\n }\n } while (pos2 !== -1);\n }\n toString() {\n let result = "";\n let isHexOnly = false;\n for (let i = 0; i < this.value.length; i++) {\n isHexOnly = this.value[i].isHexOnly;\n let sidStr = this.value[i].toString();\n if (i !== 0)\n result = `${result}.`;\n if (isHexOnly) {\n sidStr = `{${sidStr}}`;\n if (this.value[i].isFirstSid)\n result = `2.{${sidStr} - 80}`;\n else\n result += sidStr;\n } else\n result += sidStr;\n }\n return result;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n value: this.toString(),\n sidArray: []\n };\n for (let i = 0; i < this.value.length; i++) {\n object.sidArray.push(this.value[i].toJSON());\n }\n return object;\n }\n};\n__name(LocalObjectIdentifierValueBlock, "LocalObjectIdentifierValueBlock");\nLocalObjectIdentifierValueBlock.NAME = "ObjectIdentifierValueBlock";\nvar _a$m;\nvar ObjectIdentifier = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalObjectIdentifierValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 6;\n }\n getValue() {\n return this.valueBlock.toString();\n }\n setValue(value) {\n this.valueBlock.fromString(value);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.getValue()\n };\n }\n};\n__name(ObjectIdentifier, "ObjectIdentifier");\n_a$m = ObjectIdentifier;\n(() => {\n typeStore.ObjectIdentifier = _a$m;\n})();\nObjectIdentifier.NAME = "OBJECT IDENTIFIER";\nvar LocalRelativeSidValueBlock = class extends HexBlock(LocalBaseBlock) {\n constructor({ valueDec = 0, ...parameters } = {}) {\n super(parameters);\n this.valueDec = valueDec;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (inputLength === 0)\n return inputOffset;\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength))\n return -1;\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.valueHexView = new Uint8Array(inputLength);\n for (let i = 0; i < inputLength; i++) {\n this.valueHexView[i] = intBuffer[i] & 127;\n this.blockLength++;\n if ((intBuffer[i] & 128) === 0)\n break;\n }\n const tempView = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength; i++)\n tempView[i] = this.valueHexView[i];\n this.valueHexView = tempView;\n if ((intBuffer[this.blockLength - 1] & 128) !== 0) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (this.valueHexView[0] === 0)\n this.warnings.push("Needlessly long format of SID encoding");\n if (this.blockLength <= 8)\n this.valueDec = utilFromBase(this.valueHexView, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Too big SID for decoding, hex only");\n }\n return inputOffset + this.blockLength;\n }\n toBER(sizeOnly) {\n if (this.isHexOnly) {\n if (sizeOnly)\n return new ArrayBuffer(this.valueHexView.byteLength);\n const curView = this.valueHexView;\n const retView2 = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength - 1; i++)\n retView2[i] = curView[i] | 128;\n retView2[this.blockLength - 1] = curView[this.blockLength - 1];\n return retView2.buffer;\n }\n const encodedBuf = utilToBase(this.valueDec, 7);\n if (encodedBuf.byteLength === 0) {\n this.error = "Error during encoding SID value";\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(encodedBuf.byteLength);\n if (!sizeOnly) {\n const encodedView = new Uint8Array(encodedBuf);\n const len = encodedBuf.byteLength - 1;\n for (let i = 0; i < len; i++)\n retView[i] = encodedView[i] | 128;\n retView[len] = encodedView[len];\n }\n return retView.buffer;\n }\n toString() {\n let result = "";\n if (this.isHexOnly)\n result = Convert.ToHex(this.valueHexView);\n else {\n result = this.valueDec.toString();\n }\n return result;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec\n };\n }\n};\n__name(LocalRelativeSidValueBlock, "LocalRelativeSidValueBlock");\nLocalRelativeSidValueBlock.NAME = "relativeSidBlock";\nvar LocalRelativeObjectIdentifierValueBlock = class extends ValueBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\n super(parameters);\n this.value = [];\n if (value) {\n this.fromString(value);\n }\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = inputOffset;\n while (inputLength > 0) {\n const sidBlock = new LocalRelativeSidValueBlock();\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\n if (resultOffset === -1) {\n this.blockLength = 0;\n this.error = sidBlock.error;\n return resultOffset;\n }\n this.blockLength += sidBlock.blockLength;\n inputLength -= sidBlock.blockLength;\n this.value.push(sidBlock);\n }\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n const retBuffers = [];\n for (let i = 0; i < this.value.length; i++) {\n const valueBuf = this.value[i].toBER(sizeOnly);\n if (valueBuf.byteLength === 0) {\n this.error = this.value[i].error;\n return EMPTY_BUFFER;\n }\n retBuffers.push(valueBuf);\n }\n return concat(retBuffers);\n }\n fromString(string) {\n this.value = [];\n let pos1 = 0;\n let pos2 = 0;\n let sid = "";\n do {\n pos2 = string.indexOf(".", pos1);\n if (pos2 === -1)\n sid = string.substring(pos1);\n else\n sid = string.substring(pos1, pos2);\n pos1 = pos2 + 1;\n const sidBlock = new LocalRelativeSidValueBlock();\n sidBlock.valueDec = parseInt(sid, 10);\n if (isNaN(sidBlock.valueDec))\n return true;\n this.value.push(sidBlock);\n } while (pos2 !== -1);\n return true;\n }\n toString() {\n let result = "";\n let isHexOnly = false;\n for (let i = 0; i < this.value.length; i++) {\n isHexOnly = this.value[i].isHexOnly;\n let sidStr = this.value[i].toString();\n if (i !== 0)\n result = `${result}.`;\n if (isHexOnly) {\n sidStr = `{${sidStr}}`;\n result += sidStr;\n } else\n result += sidStr;\n }\n return result;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n value: this.toString(),\n sidArray: []\n };\n for (let i = 0; i < this.value.length; i++)\n object.sidArray.push(this.value[i].toJSON());\n return object;\n }\n};\n__name(LocalRelativeObjectIdentifierValueBlock, "LocalRelativeObjectIdentifierValueBlock");\nLocalRelativeObjectIdentifierValueBlock.NAME = "RelativeObjectIdentifierValueBlock";\nvar _a$l;\nvar RelativeObjectIdentifier = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalRelativeObjectIdentifierValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 13;\n }\n getValue() {\n return this.valueBlock.toString();\n }\n setValue(value) {\n this.valueBlock.fromString(value);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.getValue()\n };\n }\n};\n__name(RelativeObjectIdentifier, "RelativeObjectIdentifier");\n_a$l = RelativeObjectIdentifier;\n(() => {\n typeStore.RelativeObjectIdentifier = _a$l;\n})();\nRelativeObjectIdentifier.NAME = "RelativeObjectIdentifier";\nvar _a$k;\nvar Sequence = class extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 16;\n }\n};\n__name(Sequence, "Sequence");\n_a$k = Sequence;\n(() => {\n typeStore.Sequence = _a$k;\n})();\nSequence.NAME = "SEQUENCE";\nvar _a$j;\nvar Set = class extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 17;\n }\n};\n__name(Set, "Set");\n_a$j = Set;\n(() => {\n typeStore.Set = _a$j;\n})();\nSet.NAME = "SET";\nvar LocalStringValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = true;\n this.value = EMPTY_STRING;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.value\n };\n }\n};\n__name(LocalStringValueBlock, "LocalStringValueBlock");\nLocalStringValueBlock.NAME = "StringValueBlock";\nvar LocalSimpleStringValueBlock = class extends LocalStringValueBlock {\n};\n__name(LocalSimpleStringValueBlock, "LocalSimpleStringValueBlock");\nLocalSimpleStringValueBlock.NAME = "SimpleStringValueBlock";\nvar LocalSimpleStringBlock = class extends BaseStringBlock {\n constructor({ ...parameters } = {}) {\n super(parameters, LocalSimpleStringValueBlock);\n }\n fromBuffer(inputBuffer) {\n this.valueBlock.value = String.fromCharCode.apply(null, BufferSourceConverter.toUint8Array(inputBuffer));\n }\n fromString(inputString) {\n const strLen = inputString.length;\n const view = this.valueBlock.valueHexView = new Uint8Array(strLen);\n for (let i = 0; i < strLen; i++)\n view[i] = inputString.charCodeAt(i);\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalSimpleStringBlock, "LocalSimpleStringBlock");\nLocalSimpleStringBlock.NAME = "SIMPLE STRING";\nvar LocalUtf8StringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n this.valueBlock.valueHexView = BufferSourceConverter.toUint8Array(inputBuffer);\n try {\n this.valueBlock.value = Convert.ToUtf8String(inputBuffer);\n } catch (ex) {\n this.warnings.push(`Error during "decodeURIComponent": ${ex}, using raw string`);\n this.valueBlock.value = Convert.ToBinary(inputBuffer);\n }\n }\n fromString(inputString) {\n this.valueBlock.valueHexView = new Uint8Array(Convert.FromUtf8String(inputString));\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalUtf8StringValueBlock, "LocalUtf8StringValueBlock");\nLocalUtf8StringValueBlock.NAME = "Utf8StringValueBlock";\nvar _a$i;\nvar Utf8String = class extends LocalUtf8StringValueBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 12;\n }\n};\n__name(Utf8String, "Utf8String");\n_a$i = Utf8String;\n(() => {\n typeStore.Utf8String = _a$i;\n})();\nUtf8String.NAME = "UTF8String";\nvar LocalBmpStringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n this.valueBlock.value = Convert.ToUtf16String(inputBuffer);\n this.valueBlock.valueHexView = BufferSourceConverter.toUint8Array(inputBuffer);\n }\n fromString(inputString) {\n this.valueBlock.value = inputString;\n this.valueBlock.valueHexView = new Uint8Array(Convert.FromUtf16String(inputString));\n }\n};\n__name(LocalBmpStringValueBlock, "LocalBmpStringValueBlock");\nLocalBmpStringValueBlock.NAME = "BmpStringValueBlock";\nvar _a$h;\nvar BmpString = class extends LocalBmpStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 30;\n }\n};\n__name(BmpString, "BmpString");\n_a$h = BmpString;\n(() => {\n typeStore.BmpString = _a$h;\n})();\nBmpString.NAME = "BMPString";\nvar LocalUniversalStringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n const copyBuffer = ArrayBuffer.isView(inputBuffer) ? inputBuffer.slice().buffer : inputBuffer.slice(0);\n const valueView = new Uint8Array(copyBuffer);\n for (let i = 0; i < valueView.length; i += 4) {\n valueView[i] = valueView[i + 3];\n valueView[i + 1] = valueView[i + 2];\n valueView[i + 2] = 0;\n valueView[i + 3] = 0;\n }\n this.valueBlock.value = String.fromCharCode.apply(null, new Uint32Array(copyBuffer));\n }\n fromString(inputString) {\n const strLength = inputString.length;\n const valueHexView = this.valueBlock.valueHexView = new Uint8Array(strLength * 4);\n for (let i = 0; i < strLength; i++) {\n const codeBuf = utilToBase(inputString.charCodeAt(i), 8);\n const codeView = new Uint8Array(codeBuf);\n if (codeView.length > 4)\n continue;\n const dif = 4 - codeView.length;\n for (let j = codeView.length - 1; j >= 0; j--)\n valueHexView[i * 4 + j + dif] = codeView[j];\n }\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalUniversalStringValueBlock, "LocalUniversalStringValueBlock");\nLocalUniversalStringValueBlock.NAME = "UniversalStringValueBlock";\nvar _a$g;\nvar UniversalString = class extends LocalUniversalStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 28;\n }\n};\n__name(UniversalString, "UniversalString");\n_a$g = UniversalString;\n(() => {\n typeStore.UniversalString = _a$g;\n})();\nUniversalString.NAME = "UniversalString";\nvar _a$f;\nvar NumericString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 18;\n }\n};\n__name(NumericString, "NumericString");\n_a$f = NumericString;\n(() => {\n typeStore.NumericString = _a$f;\n})();\nNumericString.NAME = "NumericString";\nvar _a$e;\nvar PrintableString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 19;\n }\n};\n__name(PrintableString, "PrintableString");\n_a$e = PrintableString;\n(() => {\n typeStore.PrintableString = _a$e;\n})();\nPrintableString.NAME = "PrintableString";\nvar _a$d;\nvar TeletexString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 20;\n }\n};\n__name(TeletexString, "TeletexString");\n_a$d = TeletexString;\n(() => {\n typeStore.TeletexString = _a$d;\n})();\nTeletexString.NAME = "TeletexString";\nvar _a$c;\nvar VideotexString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 21;\n }\n};\n__name(VideotexString, "VideotexString");\n_a$c = VideotexString;\n(() => {\n typeStore.VideotexString = _a$c;\n})();\nVideotexString.NAME = "VideotexString";\nvar _a$b;\nvar IA5String = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 22;\n }\n};\n__name(IA5String, "IA5String");\n_a$b = IA5String;\n(() => {\n typeStore.IA5String = _a$b;\n})();\nIA5String.NAME = "IA5String";\nvar _a$a;\nvar GraphicString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 25;\n }\n};\n__name(GraphicString, "GraphicString");\n_a$a = GraphicString;\n(() => {\n typeStore.GraphicString = _a$a;\n})();\nGraphicString.NAME = "GraphicString";\nvar _a$9;\nvar VisibleString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 26;\n }\n};\n__name(VisibleString, "VisibleString");\n_a$9 = VisibleString;\n(() => {\n typeStore.VisibleString = _a$9;\n})();\nVisibleString.NAME = "VisibleString";\nvar _a$8;\nvar GeneralString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 27;\n }\n};\n__name(GeneralString, "GeneralString");\n_a$8 = GeneralString;\n(() => {\n typeStore.GeneralString = _a$8;\n})();\nGeneralString.NAME = "GeneralString";\nvar _a$7;\nvar CharacterString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 29;\n }\n};\n__name(CharacterString, "CharacterString");\n_a$7 = CharacterString;\n(() => {\n typeStore.CharacterString = _a$7;\n})();\nCharacterString.NAME = "CharacterString";\nvar _a$6;\nvar UTCTime = class extends VisibleString {\n constructor({ value, valueDate, ...parameters } = {}) {\n super(parameters);\n this.year = 0;\n this.month = 0;\n this.day = 0;\n this.hour = 0;\n this.minute = 0;\n this.second = 0;\n if (value) {\n this.fromString(value);\n this.valueBlock.valueHexView = new Uint8Array(value.length);\n for (let i = 0; i < value.length; i++)\n this.valueBlock.valueHexView[i] = value.charCodeAt(i);\n }\n if (valueDate) {\n this.fromDate(valueDate);\n this.valueBlock.valueHexView = new Uint8Array(this.toBuffer());\n }\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 23;\n }\n fromBuffer(inputBuffer) {\n this.fromString(String.fromCharCode.apply(null, BufferSourceConverter.toUint8Array(inputBuffer)));\n }\n toBuffer() {\n const str = this.toString();\n const buffer = new ArrayBuffer(str.length);\n const view = new Uint8Array(buffer);\n for (let i = 0; i < str.length; i++)\n view[i] = str.charCodeAt(i);\n return buffer;\n }\n fromDate(inputDate) {\n this.year = inputDate.getUTCFullYear();\n this.month = inputDate.getUTCMonth() + 1;\n this.day = inputDate.getUTCDate();\n this.hour = inputDate.getUTCHours();\n this.minute = inputDate.getUTCMinutes();\n this.second = inputDate.getUTCSeconds();\n }\n toDate() {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second));\n }\n fromString(inputString) {\n const parser = /(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})Z/ig;\n const parserArray = parser.exec(inputString);\n if (parserArray === null) {\n this.error = "Wrong input string for conversion";\n return;\n }\n const year = parseInt(parserArray[1], 10);\n if (year >= 50)\n this.year = 1900 + year;\n else\n this.year = 2e3 + year;\n this.month = parseInt(parserArray[2], 10);\n this.day = parseInt(parserArray[3], 10);\n this.hour = parseInt(parserArray[4], 10);\n this.minute = parseInt(parserArray[5], 10);\n this.second = parseInt(parserArray[6], 10);\n }\n toString(encoding = "iso") {\n if (encoding === "iso") {\n const outputArray = new Array(7);\n outputArray[0] = padNumber(this.year < 2e3 ? this.year - 1900 : this.year - 2e3, 2);\n outputArray[1] = padNumber(this.month, 2);\n outputArray[2] = padNumber(this.day, 2);\n outputArray[3] = padNumber(this.hour, 2);\n outputArray[4] = padNumber(this.minute, 2);\n outputArray[5] = padNumber(this.second, 2);\n outputArray[6] = "Z";\n return outputArray.join("");\n }\n return super.toString(encoding);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.toDate().toISOString()}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second\n };\n }\n};\n__name(UTCTime, "UTCTime");\n_a$6 = UTCTime;\n(() => {\n typeStore.UTCTime = _a$6;\n})();\nUTCTime.NAME = "UTCTime";\nvar _a$5;\nvar GeneralizedTime = class extends UTCTime {\n constructor(parameters = {}) {\n var _b;\n super(parameters);\n (_b = this.millisecond) !== null && _b !== void 0 ? _b : this.millisecond = 0;\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 24;\n }\n fromDate(inputDate) {\n super.fromDate(inputDate);\n this.millisecond = inputDate.getUTCMilliseconds();\n }\n toDate() {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond));\n }\n fromString(inputString) {\n let isUTC = false;\n let timeString = "";\n let dateTimeString = "";\n let fractionPart = 0;\n let parser;\n let hourDifference = 0;\n let minuteDifference = 0;\n if (inputString[inputString.length - 1] === "Z") {\n timeString = inputString.substring(0, inputString.length - 1);\n isUTC = true;\n } else {\n const number = new Number(inputString[inputString.length - 1]);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n timeString = inputString;\n }\n if (isUTC) {\n if (timeString.indexOf("+") !== -1)\n throw new Error("Wrong input string for conversion");\n if (timeString.indexOf("-") !== -1)\n throw new Error("Wrong input string for conversion");\n } else {\n let multiplier = 1;\n let differencePosition = timeString.indexOf("+");\n let differenceString = "";\n if (differencePosition === -1) {\n differencePosition = timeString.indexOf("-");\n multiplier = -1;\n }\n if (differencePosition !== -1) {\n differenceString = timeString.substring(differencePosition + 1);\n timeString = timeString.substring(0, differencePosition);\n if (differenceString.length !== 2 && differenceString.length !== 4)\n throw new Error("Wrong input string for conversion");\n let number = parseInt(differenceString.substring(0, 2), 10);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n hourDifference = multiplier * number;\n if (differenceString.length === 4) {\n number = parseInt(differenceString.substring(2, 4), 10);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n minuteDifference = multiplier * number;\n }\n }\n }\n let fractionPointPosition = timeString.indexOf(".");\n if (fractionPointPosition === -1)\n fractionPointPosition = timeString.indexOf(",");\n if (fractionPointPosition !== -1) {\n const fractionPartCheck = new Number(`0${timeString.substring(fractionPointPosition)}`);\n if (isNaN(fractionPartCheck.valueOf()))\n throw new Error("Wrong input string for conversion");\n fractionPart = fractionPartCheck.valueOf();\n dateTimeString = timeString.substring(0, fractionPointPosition);\n } else\n dateTimeString = timeString;\n switch (true) {\n case dateTimeString.length === 8:\n parser = /(\\d{4})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1)\n throw new Error("Wrong input string for conversion");\n break;\n case dateTimeString.length === 10:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n let fractionResult = 60 * fractionPart;\n this.minute = Math.floor(fractionResult);\n fractionResult = 60 * (fractionResult - this.minute);\n this.second = Math.floor(fractionResult);\n fractionResult = 1e3 * (fractionResult - this.second);\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n case dateTimeString.length === 12:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n let fractionResult = 60 * fractionPart;\n this.second = Math.floor(fractionResult);\n fractionResult = 1e3 * (fractionResult - this.second);\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n case dateTimeString.length === 14:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n const fractionResult = 1e3 * fractionPart;\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n default:\n throw new Error("Wrong input string for conversion");\n }\n const parserArray = parser.exec(dateTimeString);\n if (parserArray === null)\n throw new Error("Wrong input string for conversion");\n for (let j = 1; j < parserArray.length; j++) {\n switch (j) {\n case 1:\n this.year = parseInt(parserArray[j], 10);\n break;\n case 2:\n this.month = parseInt(parserArray[j], 10);\n break;\n case 3:\n this.day = parseInt(parserArray[j], 10);\n break;\n case 4:\n this.hour = parseInt(parserArray[j], 10) + hourDifference;\n break;\n case 5:\n this.minute = parseInt(parserArray[j], 10) + minuteDifference;\n break;\n case 6:\n this.second = parseInt(parserArray[j], 10);\n break;\n default:\n throw new Error("Wrong input string for conversion");\n }\n }\n if (isUTC === false) {\n const tempDate = new Date(this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n this.year = tempDate.getUTCFullYear();\n this.month = tempDate.getUTCMonth();\n this.day = tempDate.getUTCDay();\n this.hour = tempDate.getUTCHours();\n this.minute = tempDate.getUTCMinutes();\n this.second = tempDate.getUTCSeconds();\n this.millisecond = tempDate.getUTCMilliseconds();\n }\n }\n toString(encoding = "iso") {\n if (encoding === "iso") {\n const outputArray = [];\n outputArray.push(padNumber(this.year, 4));\n outputArray.push(padNumber(this.month, 2));\n outputArray.push(padNumber(this.day, 2));\n outputArray.push(padNumber(this.hour, 2));\n outputArray.push(padNumber(this.minute, 2));\n outputArray.push(padNumber(this.second, 2));\n if (this.millisecond !== 0) {\n outputArray.push(".");\n outputArray.push(padNumber(this.millisecond, 3));\n }\n outputArray.push("Z");\n return outputArray.join("");\n }\n return super.toString(encoding);\n }\n toJSON() {\n return {\n ...super.toJSON(),\n millisecond: this.millisecond\n };\n }\n};\n__name(GeneralizedTime, "GeneralizedTime");\n_a$5 = GeneralizedTime;\n(() => {\n typeStore.GeneralizedTime = _a$5;\n})();\nGeneralizedTime.NAME = "GeneralizedTime";\nvar _a$4;\nvar DATE = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 31;\n }\n};\n__name(DATE, "DATE");\n_a$4 = DATE;\n(() => {\n typeStore.DATE = _a$4;\n})();\nDATE.NAME = "DATE";\nvar _a$3;\nvar TimeOfDay = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 32;\n }\n};\n__name(TimeOfDay, "TimeOfDay");\n_a$3 = TimeOfDay;\n(() => {\n typeStore.TimeOfDay = _a$3;\n})();\nTimeOfDay.NAME = "TimeOfDay";\nvar _a$2;\nvar DateTime = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 33;\n }\n};\n__name(DateTime, "DateTime");\n_a$2 = DateTime;\n(() => {\n typeStore.DateTime = _a$2;\n})();\nDateTime.NAME = "DateTime";\nvar _a$1;\nvar Duration = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 34;\n }\n};\n__name(Duration, "Duration");\n_a$1 = Duration;\n(() => {\n typeStore.Duration = _a$1;\n})();\nDuration.NAME = "Duration";\nvar _a;\nvar TIME = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 14;\n }\n};\n__name(TIME, "TIME");\n_a = TIME;\n(() => {\n typeStore.TIME = _a;\n})();\nTIME.NAME = "TIME";\nvar Any = class {\n constructor({ name = EMPTY_STRING, optional = false } = {}) {\n this.name = name;\n this.optional = optional;\n }\n};\n__name(Any, "Any");\nvar Choice = class extends Any {\n constructor({ value = [], ...parameters } = {}) {\n super(parameters);\n this.value = value;\n }\n};\n__name(Choice, "Choice");\nvar Repeated = class extends Any {\n constructor({ value = new Any(), local = false, ...parameters } = {}) {\n super(parameters);\n this.value = value;\n this.local = local;\n }\n};\n__name(Repeated, "Repeated");\nvar RawData = class {\n constructor({ data = EMPTY_VIEW } = {}) {\n this.dataView = BufferSourceConverter.toUint8Array(data);\n }\n get data() {\n return this.dataView.slice().buffer;\n }\n set data(value) {\n this.dataView = BufferSourceConverter.toUint8Array(value);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const endLength = inputOffset + inputLength;\n this.dataView = BufferSourceConverter.toUint8Array(inputBuffer).subarray(inputOffset, endLength);\n return endLength;\n }\n toBER(sizeOnly) {\n return this.dataView.slice().buffer;\n }\n};\n__name(RawData, "RawData");\nfunction compareSchema(root, inputData, inputSchema) {\n if (inputSchema instanceof Choice) {\n for (let j = 0; j < inputSchema.value.length; j++) {\n const result = compareSchema(root, inputData, inputSchema.value[j]);\n if (result.verified) {\n return {\n verified: true,\n result: root\n };\n }\n }\n {\n const _result = {\n verified: false,\n result: {\n error: "Wrong values for Choice type"\n }\n };\n if (inputSchema.hasOwnProperty(NAME))\n _result.name = inputSchema.name;\n return _result;\n }\n }\n if (inputSchema instanceof Any) {\n if (inputSchema.hasOwnProperty(NAME))\n root[inputSchema.name] = inputData;\n return {\n verified: true,\n result: root\n };\n }\n if (root instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong root object" }\n };\n }\n if (inputData instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 data" }\n };\n }\n if (inputSchema instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (ID_BLOCK in inputSchema === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (FROM_BER in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (TO_BER in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n const encodedId = inputSchema.idBlock.toBER(false);\n if (encodedId.byteLength === 0) {\n return {\n verified: false,\n result: { error: "Error encoding idBlock for ASN.1 schema" }\n };\n }\n const decodedOffset = inputSchema.idBlock.fromBER(encodedId, 0, encodedId.byteLength);\n if (decodedOffset === -1) {\n return {\n verified: false,\n result: { error: "Error decoding idBlock for ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(TAG_CLASS) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.tagClass !== inputData.idBlock.tagClass) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(TAG_NUMBER) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.tagNumber !== inputData.idBlock.tagNumber) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(IS_CONSTRUCTED) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.isConstructed !== inputData.idBlock.isConstructed) {\n return {\n verified: false,\n result: root\n };\n }\n if (!(IS_HEX_ONLY in inputSchema.idBlock)) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.isHexOnly !== inputData.idBlock.isHexOnly) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.isHexOnly) {\n if (VALUE_HEX_VIEW in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n const schemaView = inputSchema.idBlock.valueHexView;\n const asn1View = inputData.idBlock.valueHexView;\n if (schemaView.length !== asn1View.length) {\n return {\n verified: false,\n result: root\n };\n }\n for (let i = 0; i < schemaView.length; i++) {\n if (schemaView[i] !== asn1View[1]) {\n return {\n verified: false,\n result: root\n };\n }\n }\n }\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n root[inputSchema.name] = inputData;\n }\n if (inputSchema instanceof typeStore.Constructed) {\n let admission = 0;\n let result = {\n verified: false,\n result: {\n error: "Unknown error"\n }\n };\n let maxLength = inputSchema.valueBlock.value.length;\n if (maxLength > 0) {\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\n maxLength = inputData.valueBlock.value.length;\n }\n }\n if (maxLength === 0) {\n return {\n verified: true,\n result: root\n };\n }\n if (inputData.valueBlock.value.length === 0 && inputSchema.valueBlock.value.length !== 0) {\n let _optional = true;\n for (let i = 0; i < inputSchema.valueBlock.value.length; i++)\n _optional = _optional && (inputSchema.valueBlock.value[i].optional || false);\n if (_optional) {\n return {\n verified: true,\n result: root\n };\n }\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n root.error = "Inconsistent object length";\n return {\n verified: false,\n result: root\n };\n }\n for (let i = 0; i < maxLength; i++) {\n if (i - admission >= inputData.valueBlock.value.length) {\n if (inputSchema.valueBlock.value[i].optional === false) {\n const _result = {\n verified: false,\n result: root\n };\n root.error = "Inconsistent length between ASN.1 data and schema";\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n } else {\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\n result = compareSchema(root, inputData.valueBlock.value[i], inputSchema.valueBlock.value[0].value);\n if (result.verified === false) {\n if (inputSchema.valueBlock.value[0].optional)\n admission++;\n else {\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n return result;\n }\n }\n if (NAME in inputSchema.valueBlock.value[0] && inputSchema.valueBlock.value[0].name.length > 0) {\n let arrayRoot = {};\n if (LOCAL in inputSchema.valueBlock.value[0] && inputSchema.valueBlock.value[0].local)\n arrayRoot = inputData;\n else\n arrayRoot = root;\n if (typeof arrayRoot[inputSchema.valueBlock.value[0].name] === "undefined")\n arrayRoot[inputSchema.valueBlock.value[0].name] = [];\n arrayRoot[inputSchema.valueBlock.value[0].name].push(inputData.valueBlock.value[i]);\n }\n } else {\n result = compareSchema(root, inputData.valueBlock.value[i - admission], inputSchema.valueBlock.value[i]);\n if (result.verified === false) {\n if (inputSchema.valueBlock.value[i].optional)\n admission++;\n else {\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n return result;\n }\n }\n }\n }\n }\n if (result.verified === false) {\n const _result = {\n verified: false,\n result: root\n };\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n return {\n verified: true,\n result: root\n };\n }\n if (inputSchema.primitiveSchema && VALUE_HEX_VIEW in inputData.valueBlock) {\n const asn1 = localFromBER(inputData.valueBlock.valueHexView);\n if (asn1.offset === -1) {\n const _result = {\n verified: false,\n result: asn1.result\n };\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n return compareSchema(root, asn1.result, inputSchema.primitiveSchema);\n }\n return {\n verified: true,\n result: root\n };\n}\n__name(compareSchema, "compareSchema");\nfunction verifySchema(inputBuffer, inputSchema) {\n if (inputSchema instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema type" }\n };\n }\n const asn1 = localFromBER(BufferSourceConverter.toUint8Array(inputBuffer));\n if (asn1.offset === -1) {\n return {\n verified: false,\n result: asn1.result\n };\n }\n return compareSchema(asn1.result, asn1.result, inputSchema);\n}\n__name(verifySchema, "verifySchema");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/enums.js\nvar AsnTypeTypes;\n(function(AsnTypeTypes2) {\n AsnTypeTypes2[AsnTypeTypes2["Sequence"] = 0] = "Sequence";\n AsnTypeTypes2[AsnTypeTypes2["Set"] = 1] = "Set";\n AsnTypeTypes2[AsnTypeTypes2["Choice"] = 2] = "Choice";\n})(AsnTypeTypes || (AsnTypeTypes = {}));\nvar AsnPropTypes;\n(function(AsnPropTypes2) {\n AsnPropTypes2[AsnPropTypes2["Any"] = 1] = "Any";\n AsnPropTypes2[AsnPropTypes2["Boolean"] = 2] = "Boolean";\n AsnPropTypes2[AsnPropTypes2["OctetString"] = 3] = "OctetString";\n AsnPropTypes2[AsnPropTypes2["BitString"] = 4] = "BitString";\n AsnPropTypes2[AsnPropTypes2["Integer"] = 5] = "Integer";\n AsnPropTypes2[AsnPropTypes2["Enumerated"] = 6] = "Enumerated";\n AsnPropTypes2[AsnPropTypes2["ObjectIdentifier"] = 7] = "ObjectIdentifier";\n AsnPropTypes2[AsnPropTypes2["Utf8String"] = 8] = "Utf8String";\n AsnPropTypes2[AsnPropTypes2["BmpString"] = 9] = "BmpString";\n AsnPropTypes2[AsnPropTypes2["UniversalString"] = 10] = "UniversalString";\n AsnPropTypes2[AsnPropTypes2["NumericString"] = 11] = "NumericString";\n AsnPropTypes2[AsnPropTypes2["PrintableString"] = 12] = "PrintableString";\n AsnPropTypes2[AsnPropTypes2["TeletexString"] = 13] = "TeletexString";\n AsnPropTypes2[AsnPropTypes2["VideotexString"] = 14] = "VideotexString";\n AsnPropTypes2[AsnPropTypes2["IA5String"] = 15] = "IA5String";\n AsnPropTypes2[AsnPropTypes2["GraphicString"] = 16] = "GraphicString";\n AsnPropTypes2[AsnPropTypes2["VisibleString"] = 17] = "VisibleString";\n AsnPropTypes2[AsnPropTypes2["GeneralString"] = 18] = "GeneralString";\n AsnPropTypes2[AsnPropTypes2["CharacterString"] = 19] = "CharacterString";\n AsnPropTypes2[AsnPropTypes2["UTCTime"] = 20] = "UTCTime";\n AsnPropTypes2[AsnPropTypes2["GeneralizedTime"] = 21] = "GeneralizedTime";\n AsnPropTypes2[AsnPropTypes2["DATE"] = 22] = "DATE";\n AsnPropTypes2[AsnPropTypes2["TimeOfDay"] = 23] = "TimeOfDay";\n AsnPropTypes2[AsnPropTypes2["DateTime"] = 24] = "DateTime";\n AsnPropTypes2[AsnPropTypes2["Duration"] = 25] = "Duration";\n AsnPropTypes2[AsnPropTypes2["TIME"] = 26] = "TIME";\n AsnPropTypes2[AsnPropTypes2["Null"] = 27] = "Null";\n})(AsnPropTypes || (AsnPropTypes = {}));\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/converters.js\nvar AsnAnyConverter = {\n fromASN: (value) => value instanceof Null ? null : value.valueBeforeDecodeView,\n toASN: (value) => {\n if (value === null) {\n return new Null();\n }\n const schema = fromBER(value);\n if (schema.result.error) {\n throw new Error(schema.result.error);\n }\n return schema.result;\n }\n};\nvar AsnIntegerConverter = {\n fromASN: (value) => value.valueBlock.valueHexView.byteLength >= 4 ? value.valueBlock.toString() : value.valueBlock.valueDec,\n toASN: (value) => new Integer({ value: +value })\n};\nvar AsnEnumeratedConverter = {\n fromASN: (value) => value.valueBlock.valueDec,\n toASN: (value) => new Enumerated({ value })\n};\nvar AsnBitStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new BitString({ valueHex: value })\n};\nvar AsnObjectIdentifierConverter = {\n fromASN: (value) => value.valueBlock.toString(),\n toASN: (value) => new ObjectIdentifier({ value })\n};\nvar AsnBooleanConverter = {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new Boolean({ value })\n};\nvar AsnOctetStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new OctetString({ valueHex: value })\n};\nfunction createStringConverter(Asn1Type) {\n return {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new Asn1Type({ value })\n };\n}\n__name(createStringConverter, "createStringConverter");\nvar AsnUtf8StringConverter = createStringConverter(Utf8String);\nvar AsnBmpStringConverter = createStringConverter(BmpString);\nvar AsnUniversalStringConverter = createStringConverter(UniversalString);\nvar AsnNumericStringConverter = createStringConverter(NumericString);\nvar AsnPrintableStringConverter = createStringConverter(PrintableString);\nvar AsnTeletexStringConverter = createStringConverter(TeletexString);\nvar AsnVideotexStringConverter = createStringConverter(VideotexString);\nvar AsnIA5StringConverter = createStringConverter(IA5String);\nvar AsnGraphicStringConverter = createStringConverter(GraphicString);\nvar AsnVisibleStringConverter = createStringConverter(VisibleString);\nvar AsnGeneralStringConverter = createStringConverter(GeneralString);\nvar AsnCharacterStringConverter = createStringConverter(CharacterString);\nvar AsnUTCTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new UTCTime({ valueDate: value })\n};\nvar AsnGeneralizedTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new GeneralizedTime({ valueDate: value })\n};\nvar AsnNullConverter = {\n fromASN: () => null,\n toASN: () => {\n return new Null();\n }\n};\nfunction defaultConverter(type) {\n switch (type) {\n case AsnPropTypes.Any:\n return AsnAnyConverter;\n case AsnPropTypes.BitString:\n return AsnBitStringConverter;\n case AsnPropTypes.BmpString:\n return AsnBmpStringConverter;\n case AsnPropTypes.Boolean:\n return AsnBooleanConverter;\n case AsnPropTypes.CharacterString:\n return AsnCharacterStringConverter;\n case AsnPropTypes.Enumerated:\n return AsnEnumeratedConverter;\n case AsnPropTypes.GeneralString:\n return AsnGeneralStringConverter;\n case AsnPropTypes.GeneralizedTime:\n return AsnGeneralizedTimeConverter;\n case AsnPropTypes.GraphicString:\n return AsnGraphicStringConverter;\n case AsnPropTypes.IA5String:\n return AsnIA5StringConverter;\n case AsnPropTypes.Integer:\n return AsnIntegerConverter;\n case AsnPropTypes.Null:\n return AsnNullConverter;\n case AsnPropTypes.NumericString:\n return AsnNumericStringConverter;\n case AsnPropTypes.ObjectIdentifier:\n return AsnObjectIdentifierConverter;\n case AsnPropTypes.OctetString:\n return AsnOctetStringConverter;\n case AsnPropTypes.PrintableString:\n return AsnPrintableStringConverter;\n case AsnPropTypes.TeletexString:\n return AsnTeletexStringConverter;\n case AsnPropTypes.UTCTime:\n return AsnUTCTimeConverter;\n case AsnPropTypes.UniversalString:\n return AsnUniversalStringConverter;\n case AsnPropTypes.Utf8String:\n return AsnUtf8StringConverter;\n case AsnPropTypes.VideotexString:\n return AsnVideotexStringConverter;\n case AsnPropTypes.VisibleString:\n return AsnVisibleStringConverter;\n default:\n return null;\n }\n}\n__name(defaultConverter, "defaultConverter");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/helper.js\nfunction isConvertible(target) {\n if (typeof target === "function" && target.prototype) {\n if (target.prototype.toASN && target.prototype.fromASN) {\n return true;\n } else {\n return isConvertible(target.prototype);\n }\n } else {\n return !!(target && typeof target === "object" && "toASN" in target && "fromASN" in target);\n }\n}\n__name(isConvertible, "isConvertible");\nfunction isTypeOfArray(target) {\n var _a2;\n if (target) {\n const proto = Object.getPrototypeOf(target);\n if (((_a2 = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a2 === void 0 ? void 0 : _a2.constructor) === Array) {\n return true;\n }\n return isTypeOfArray(proto);\n }\n return false;\n}\n__name(isTypeOfArray, "isTypeOfArray");\nfunction isArrayEqual(bytes1, bytes2) {\n if (!(bytes1 && bytes2)) {\n return false;\n }\n if (bytes1.byteLength !== bytes2.byteLength) {\n return false;\n }\n const b1 = new Uint8Array(bytes1);\n const b2 = new Uint8Array(bytes2);\n for (let i = 0; i < bytes1.byteLength; i++) {\n if (b1[i] !== b2[i]) {\n return false;\n }\n }\n return true;\n}\n__name(isArrayEqual, "isArrayEqual");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/schema.js\nvar AsnSchemaStorage = class {\n constructor() {\n this.items = /* @__PURE__ */ new WeakMap();\n }\n has(target) {\n return this.items.has(target);\n }\n get(target, checkSchema = false) {\n const schema = this.items.get(target);\n if (!schema) {\n throw new Error(`Cannot get schema for \'${target.prototype.constructor.name}\' target`);\n }\n if (checkSchema && !schema.schema) {\n throw new Error(`Schema \'${target.prototype.constructor.name}\' doesn\'t contain ASN.1 schema. Call \'AsnSchemaStorage.cache\'.`);\n }\n return schema;\n }\n cache(target) {\n const schema = this.get(target);\n if (!schema.schema) {\n schema.schema = this.create(target, true);\n }\n }\n createDefault(target) {\n const schema = {\n type: AsnTypeTypes.Sequence,\n items: {}\n };\n const parentSchema = this.findParentSchema(target);\n if (parentSchema) {\n Object.assign(schema, parentSchema);\n schema.items = Object.assign({}, schema.items, parentSchema.items);\n }\n return schema;\n }\n create(target, useNames) {\n const schema = this.items.get(target) || this.createDefault(target);\n const asn1Value = [];\n for (const key in schema.items) {\n const item = schema.items[key];\n const name = useNames ? key : "";\n let asn1Item;\n if (typeof item.type === "number") {\n const Asn1TypeName = AsnPropTypes[item.type];\n const Asn1Type = index_es_exports[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get ASN1 class by name \'${Asn1TypeName}\'`);\n }\n asn1Item = new Asn1Type({ name });\n } else if (isConvertible(item.type)) {\n const instance = new item.type();\n asn1Item = instance.toSchema(name);\n } else if (item.optional) {\n const itemSchema = this.get(item.type);\n if (itemSchema.type === AsnTypeTypes.Choice) {\n asn1Item = new Any({ name });\n } else {\n asn1Item = this.create(item.type, false);\n asn1Item.name = name;\n }\n } else {\n asn1Item = new Any({ name });\n }\n const optional = !!item.optional || item.defaultValue !== void 0;\n if (item.repeated) {\n asn1Item.name = "";\n const Container = item.repeated === "set" ? Set : Sequence;\n asn1Item = new Container({\n name: "",\n value: [\n new Repeated({\n name,\n value: asn1Item\n })\n ]\n });\n }\n if (item.context !== null && item.context !== void 0) {\n if (item.implicit) {\n if (typeof item.type === "number" || isConvertible(item.type)) {\n const Container = item.repeated ? Constructed : Primitive;\n asn1Value.push(new Container({\n name,\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n }\n }));\n } else {\n this.cache(item.type);\n const isRepeated = !!item.repeated;\n let value = !isRepeated ? this.get(item.type, true).schema : asn1Item;\n value = "valueBlock" in value ? value.valueBlock.value : value.value;\n asn1Value.push(new Constructed({\n name: !isRepeated ? name : "",\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n },\n value\n }));\n }\n } else {\n asn1Value.push(new Constructed({\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n },\n value: [asn1Item]\n }));\n }\n } else {\n asn1Item.optional = optional;\n asn1Value.push(asn1Item);\n }\n }\n switch (schema.type) {\n case AsnTypeTypes.Sequence:\n return new Sequence({ value: asn1Value, name: "" });\n case AsnTypeTypes.Set:\n return new Set({ value: asn1Value, name: "" });\n case AsnTypeTypes.Choice:\n return new Choice({ value: asn1Value, name: "" });\n default:\n throw new Error(`Unsupported ASN1 type in use`);\n }\n }\n set(target, schema) {\n this.items.set(target, schema);\n return this;\n }\n findParentSchema(target) {\n const parent = Object.getPrototypeOf(target);\n if (parent) {\n const schema = this.items.get(parent);\n return schema || this.findParentSchema(parent);\n }\n return null;\n }\n};\n__name(AsnSchemaStorage, "AsnSchemaStorage");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/storage.js\nvar schemaStorage = new AsnSchemaStorage();\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js\nvar AsnType = /* @__PURE__ */ __name((options) => (target) => {\n let schema;\n if (!schemaStorage.has(target)) {\n schema = schemaStorage.createDefault(target);\n schemaStorage.set(target, schema);\n } else {\n schema = schemaStorage.get(target);\n }\n Object.assign(schema, options);\n}, "AsnType");\nvar AsnProp = /* @__PURE__ */ __name((options) => (target, propertyKey) => {\n let schema;\n if (!schemaStorage.has(target.constructor)) {\n schema = schemaStorage.createDefault(target.constructor);\n schemaStorage.set(target.constructor, schema);\n } else {\n schema = schemaStorage.get(target.constructor);\n }\n const copyOptions = Object.assign({}, options);\n if (typeof copyOptions.type === "number" && !copyOptions.converter) {\n const defaultConverter2 = defaultConverter(options.type);\n if (!defaultConverter2) {\n throw new Error(`Cannot get default converter for property \'${propertyKey}\' of ${target.constructor.name}`);\n }\n copyOptions.converter = defaultConverter2;\n }\n schema.items[propertyKey] = copyOptions;\n}, "AsnProp");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js\nvar AsnSchemaValidationError = class extends Error {\n constructor() {\n super(...arguments);\n this.schemas = [];\n }\n};\n__name(AsnSchemaValidationError, "AsnSchemaValidationError");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/parser.js\nvar AsnParser = class {\n static parse(data, target) {\n const asn1Parsed = fromBER(data);\n if (asn1Parsed.result.error) {\n throw new Error(asn1Parsed.result.error);\n }\n const res = this.fromASN(asn1Parsed.result, target);\n return res;\n }\n static fromASN(asn1Schema, target) {\n var _a2;\n try {\n if (isConvertible(target)) {\n const value = new target();\n return value.fromASN(asn1Schema);\n }\n const schema = schemaStorage.get(target);\n schemaStorage.cache(target);\n let targetSchema = schema.schema;\n if (asn1Schema.constructor === Constructed && schema.type !== AsnTypeTypes.Choice) {\n targetSchema = new Constructed({\n idBlock: {\n tagClass: 3,\n tagNumber: asn1Schema.idBlock.tagNumber\n },\n value: schema.schema.valueBlock.value\n });\n for (const key in schema.items) {\n delete asn1Schema[key];\n }\n }\n const asn1ComparedSchema = compareSchema({}, asn1Schema, targetSchema);\n if (!asn1ComparedSchema.verified) {\n throw new AsnSchemaValidationError(`Data does not match to ${target.name} ASN1 schema. ${asn1ComparedSchema.result.error}`);\n }\n const res = new target();\n if (isTypeOfArray(target)) {\n if (!("value" in asn1Schema.valueBlock && Array.isArray(asn1Schema.valueBlock.value))) {\n throw new Error(`Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.`);\n }\n const itemType = schema.itemType;\n if (typeof itemType === "number") {\n const converter = defaultConverter(itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n return target.from(asn1Schema.valueBlock.value, (element) => converter.fromASN(element));\n } else {\n return target.from(asn1Schema.valueBlock.value, (element) => this.fromASN(element, itemType));\n }\n }\n for (const key in schema.items) {\n const asn1SchemaValue = asn1ComparedSchema.result[key];\n if (!asn1SchemaValue) {\n continue;\n }\n const schemaItem = schema.items[key];\n const schemaItemType = schemaItem.type;\n if (typeof schemaItemType === "number" || isConvertible(schemaItemType)) {\n const converter = (_a2 = schemaItem.converter) !== null && _a2 !== void 0 ? _a2 : isConvertible(schemaItemType) ? new schemaItemType() : null;\n if (!converter) {\n throw new Error("Converter is empty");\n }\n if (schemaItem.repeated) {\n if (schemaItem.implicit) {\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n const newItem = new Container();\n newItem.valueBlock = asn1SchemaValue.valueBlock;\n const newItemAsn = fromBER(newItem.toBER(false));\n if (newItemAsn.offset === -1) {\n throw new Error(`Cannot parse the child item. ${newItemAsn.result.error}`);\n }\n if (!("value" in newItemAsn.result.valueBlock && Array.isArray(newItemAsn.result.valueBlock.value))) {\n throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");\n }\n const value = newItemAsn.result.valueBlock.value;\n res[key] = Array.from(value, (element) => converter.fromASN(element));\n } else {\n res[key] = Array.from(asn1SchemaValue, (element) => converter.fromASN(element));\n }\n } else {\n let value = asn1SchemaValue;\n if (schemaItem.implicit) {\n let newItem;\n if (isConvertible(schemaItemType)) {\n newItem = new schemaItemType().toSchema("");\n } else {\n const Asn1TypeName = AsnPropTypes[schemaItemType];\n const Asn1Type = index_es_exports[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get \'${Asn1TypeName}\' class from asn1js module`);\n }\n newItem = new Asn1Type();\n }\n newItem.valueBlock = value.valueBlock;\n value = fromBER(newItem.toBER(false)).result;\n }\n res[key] = converter.fromASN(value);\n }\n } else {\n if (schemaItem.repeated) {\n if (!Array.isArray(asn1SchemaValue)) {\n throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");\n }\n res[key] = Array.from(asn1SchemaValue, (element) => this.fromASN(element, schemaItemType));\n } else {\n res[key] = this.fromASN(asn1SchemaValue, schemaItemType);\n }\n }\n }\n return res;\n } catch (error) {\n if (error instanceof AsnSchemaValidationError) {\n error.schemas.push(target.name);\n }\n throw error;\n }\n }\n};\n__name(AsnParser, "AsnParser");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js\nvar AsnSerializer = class {\n static serialize(obj) {\n if (obj instanceof BaseBlock) {\n return obj.toBER(false);\n }\n return this.toASN(obj).toBER(false);\n }\n static toASN(obj) {\n if (obj && typeof obj === "object" && isConvertible(obj)) {\n return obj.toASN();\n }\n if (!(obj && typeof obj === "object")) {\n throw new TypeError("Parameter 1 should be type of Object.");\n }\n const target = obj.constructor;\n const schema = schemaStorage.get(target);\n schemaStorage.cache(target);\n let asn1Value = [];\n if (schema.itemType) {\n if (!Array.isArray(obj)) {\n throw new TypeError("Parameter 1 should be type of Array.");\n }\n if (typeof schema.itemType === "number") {\n const converter = defaultConverter(schema.itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n asn1Value = obj.map((o) => converter.toASN(o));\n } else {\n asn1Value = obj.map((o) => this.toAsnItem({ type: schema.itemType }, "[]", target, o));\n }\n } else {\n for (const key in schema.items) {\n const schemaItem = schema.items[key];\n const objProp = obj[key];\n if (objProp === void 0 || schemaItem.defaultValue === objProp || typeof schemaItem.defaultValue === "object" && typeof objProp === "object" && isArrayEqual(this.serialize(schemaItem.defaultValue), this.serialize(objProp))) {\n continue;\n }\n const asn1Item = AsnSerializer.toAsnItem(schemaItem, key, target, objProp);\n if (typeof schemaItem.context === "number") {\n if (schemaItem.implicit) {\n if (!schemaItem.repeated && (typeof schemaItem.type === "number" || isConvertible(schemaItem.type))) {\n const value = {};\n value.valueHex = asn1Item instanceof Null ? asn1Item.valueBeforeDecodeView : asn1Item.valueBlock.toBER();\n asn1Value.push(new Primitive({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n ...value\n }));\n } else {\n asn1Value.push(new Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n value: asn1Item.valueBlock.value\n }));\n }\n } else {\n asn1Value.push(new Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n value: [asn1Item]\n }));\n }\n } else if (schemaItem.repeated) {\n asn1Value = asn1Value.concat(asn1Item);\n } else {\n asn1Value.push(asn1Item);\n }\n }\n }\n let asnSchema;\n switch (schema.type) {\n case AsnTypeTypes.Sequence:\n asnSchema = new Sequence({ value: asn1Value });\n break;\n case AsnTypeTypes.Set:\n asnSchema = new Set({ value: asn1Value });\n break;\n case AsnTypeTypes.Choice:\n if (!asn1Value[0]) {\n throw new Error(`Schema \'${target.name}\' has wrong data. Choice cannot be empty.`);\n }\n asnSchema = asn1Value[0];\n break;\n }\n return asnSchema;\n }\n static toAsnItem(schemaItem, key, target, objProp) {\n let asn1Item;\n if (typeof schemaItem.type === "number") {\n const converter = schemaItem.converter;\n if (!converter) {\n throw new Error(`Property \'${key}\' doesn\'t have converter for type ${AsnPropTypes[schemaItem.type]} in schema \'${target.name}\'`);\n }\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => converter.toASN(element));\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n asn1Item = new Container({\n value: items\n });\n } else {\n asn1Item = converter.toASN(objProp);\n }\n } else {\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => this.toASN(element));\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n asn1Item = new Container({\n value: items\n });\n } else {\n asn1Item = this.toASN(objProp);\n }\n }\n return asn1Item;\n }\n};\n__name(AsnSerializer, "AsnSerializer");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/convert.js\nvar AsnConvert = class {\n static serialize(obj) {\n return AsnSerializer.serialize(obj);\n }\n static parse(data, target) {\n return AsnParser.parse(data, target);\n }\n static toString(data) {\n const buf = BufferSourceConverter.isBufferSource(data) ? BufferSourceConverter.toArrayBuffer(data) : AsnConvert.serialize(data);\n const asn = fromBER(buf);\n if (asn.offset === -1) {\n throw new Error(`Cannot decode ASN.1 data. ${asn.result.error}`);\n }\n return asn.result.toString();\n }\n};\n__name(AsnConvert, "AsnConvert");\n\n// ../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js\nfunction __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n__name(__decorate, "__decorate");\n\n// ../../node_modules/.pnpm/@peculiar+json-schema@1.1.12/node_modules/@peculiar/json-schema/build/index.es.js\nvar JsonError = class extends Error {\n constructor(message, innerError) {\n super(innerError ? `${message}. See the inner exception for more details.` : message);\n this.message = message;\n this.innerError = innerError;\n }\n};\n__name(JsonError, "JsonError");\nvar TransformError = class extends JsonError {\n constructor(schema, message, innerError) {\n super(message, innerError);\n this.schema = schema;\n }\n};\n__name(TransformError, "TransformError");\nvar ParserError = class extends TransformError {\n constructor(schema, message, innerError) {\n super(schema, `JSON doesn\'t match to \'${schema.target.name}\' schema. ${message}`, innerError);\n }\n};\n__name(ParserError, "ParserError");\nvar ValidationError = class extends JsonError {\n};\n__name(ValidationError, "ValidationError");\nvar SerializerError = class extends JsonError {\n constructor(schemaName, message, innerError) {\n super(`Cannot serialize by \'${schemaName}\' schema. ${message}`, innerError);\n this.schemaName = schemaName;\n }\n};\n__name(SerializerError, "SerializerError");\nvar KeyError = class extends ParserError {\n constructor(schema, keys, errors = {}) {\n super(schema, "Some keys doesn\'t match to schema");\n this.keys = keys;\n this.errors = errors;\n }\n};\n__name(KeyError, "KeyError");\nvar JsonPropTypes;\n(function(JsonPropTypes2) {\n JsonPropTypes2[JsonPropTypes2["Any"] = 0] = "Any";\n JsonPropTypes2[JsonPropTypes2["Boolean"] = 1] = "Boolean";\n JsonPropTypes2[JsonPropTypes2["Number"] = 2] = "Number";\n JsonPropTypes2[JsonPropTypes2["String"] = 3] = "String";\n})(JsonPropTypes || (JsonPropTypes = {}));\nfunction checkType(value, type) {\n switch (type) {\n case JsonPropTypes.Boolean:\n return typeof value === "boolean";\n case JsonPropTypes.Number:\n return typeof value === "number";\n case JsonPropTypes.String:\n return typeof value === "string";\n }\n return true;\n}\n__name(checkType, "checkType");\nfunction throwIfTypeIsWrong(value, type) {\n if (!checkType(value, type)) {\n throw new TypeError(`Value must be ${JsonPropTypes[type]}`);\n }\n}\n__name(throwIfTypeIsWrong, "throwIfTypeIsWrong");\nfunction isConvertible2(target) {\n if (target && target.prototype) {\n if (target.prototype.toJSON && target.prototype.fromJSON) {\n return true;\n } else {\n return isConvertible2(target.prototype);\n }\n } else {\n return !!(target && target.toJSON && target.fromJSON);\n }\n}\n__name(isConvertible2, "isConvertible");\nvar JsonSchemaStorage = class {\n constructor() {\n this.items = /* @__PURE__ */ new Map();\n }\n has(target) {\n return this.items.has(target) || !!this.findParentSchema(target);\n }\n get(target) {\n const schema = this.items.get(target) || this.findParentSchema(target);\n if (!schema) {\n throw new Error("Cannot get schema for current target");\n }\n return schema;\n }\n create(target) {\n const schema = { names: {} };\n const parentSchema = this.findParentSchema(target);\n if (parentSchema) {\n Object.assign(schema, parentSchema);\n schema.names = {};\n for (const name in parentSchema.names) {\n schema.names[name] = Object.assign({}, parentSchema.names[name]);\n }\n }\n schema.target = target;\n return schema;\n }\n set(target, schema) {\n this.items.set(target, schema);\n return this;\n }\n findParentSchema(target) {\n const parent = target.__proto__;\n if (parent) {\n const schema = this.items.get(parent);\n return schema || this.findParentSchema(parent);\n }\n return null;\n }\n};\n__name(JsonSchemaStorage, "JsonSchemaStorage");\nvar DEFAULT_SCHEMA = "default";\nvar schemaStorage2 = new JsonSchemaStorage();\nvar PatternValidation = class {\n constructor(pattern) {\n this.pattern = new RegExp(pattern);\n }\n validate(value) {\n const pattern = new RegExp(this.pattern.source, this.pattern.flags);\n if (typeof value !== "string") {\n throw new ValidationError("Incoming value must be string");\n }\n if (!pattern.exec(value)) {\n throw new ValidationError(`Value doesn\'t match to pattern \'${pattern.toString()}\'`);\n }\n }\n};\n__name(PatternValidation, "PatternValidation");\nvar InclusiveValidation = class {\n constructor(min = Number.MIN_VALUE, max = Number.MAX_VALUE) {\n this.min = min;\n this.max = max;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.Number);\n if (!(this.min <= value && value <= this.max)) {\n const min = this.min === Number.MIN_VALUE ? "MIN" : this.min;\n const max = this.max === Number.MAX_VALUE ? "MAX" : this.max;\n throw new ValidationError(`Value doesn\'t match to diapason [${min},${max}]`);\n }\n }\n};\n__name(InclusiveValidation, "InclusiveValidation");\nvar ExclusiveValidation = class {\n constructor(min = Number.MIN_VALUE, max = Number.MAX_VALUE) {\n this.min = min;\n this.max = max;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.Number);\n if (!(this.min < value && value < this.max)) {\n const min = this.min === Number.MIN_VALUE ? "MIN" : this.min;\n const max = this.max === Number.MAX_VALUE ? "MAX" : this.max;\n throw new ValidationError(`Value doesn\'t match to diapason (${min},${max})`);\n }\n }\n};\n__name(ExclusiveValidation, "ExclusiveValidation");\nvar LengthValidation = class {\n constructor(length, minLength, maxLength) {\n this.length = length;\n this.minLength = minLength;\n this.maxLength = maxLength;\n }\n validate(value) {\n if (this.length !== void 0) {\n if (value.length !== this.length) {\n throw new ValidationError(`Value length must be exactly ${this.length}.`);\n }\n return;\n }\n if (this.minLength !== void 0) {\n if (value.length < this.minLength) {\n throw new ValidationError(`Value length must be more than ${this.minLength}.`);\n }\n }\n if (this.maxLength !== void 0) {\n if (value.length > this.maxLength) {\n throw new ValidationError(`Value length must be less than ${this.maxLength}.`);\n }\n }\n }\n};\n__name(LengthValidation, "LengthValidation");\nvar EnumerationValidation = class {\n constructor(enumeration) {\n this.enumeration = enumeration;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.String);\n if (!this.enumeration.includes(value)) {\n throw new ValidationError(`Value must be one of ${this.enumeration.map((v) => `\'${v}\'`).join(", ")}`);\n }\n }\n};\n__name(EnumerationValidation, "EnumerationValidation");\nvar JsonTransform = class {\n static checkValues(data, schemaItem) {\n const values = Array.isArray(data) ? data : [data];\n for (const value of values) {\n for (const validation of schemaItem.validations) {\n if (validation instanceof LengthValidation && schemaItem.repeated) {\n validation.validate(data);\n } else {\n validation.validate(value);\n }\n }\n }\n }\n static checkTypes(value, schemaItem) {\n if (schemaItem.repeated && !Array.isArray(value)) {\n throw new TypeError("Value must be Array");\n }\n if (typeof schemaItem.type === "number") {\n const values = Array.isArray(value) ? value : [value];\n for (const v of values) {\n throwIfTypeIsWrong(v, schemaItem.type);\n }\n }\n }\n static getSchemaByName(schema, name = DEFAULT_SCHEMA) {\n return { ...schema.names[DEFAULT_SCHEMA], ...schema.names[name] };\n }\n};\n__name(JsonTransform, "JsonTransform");\nvar JsonSerializer = class extends JsonTransform {\n static serialize(obj, options, replacer, space) {\n const json = this.toJSON(obj, options);\n return JSON.stringify(json, replacer, space);\n }\n static toJSON(obj, options = {}) {\n let res;\n let targetSchema = options.targetSchema;\n const schemaName = options.schemaName || DEFAULT_SCHEMA;\n if (isConvertible2(obj)) {\n return obj.toJSON();\n }\n if (Array.isArray(obj)) {\n res = [];\n for (const item of obj) {\n res.push(this.toJSON(item, options));\n }\n } else if (typeof obj === "object") {\n if (targetSchema && !schemaStorage2.has(targetSchema)) {\n throw new JsonError("Cannot get schema for `targetSchema` param");\n }\n targetSchema = targetSchema || obj.constructor;\n if (schemaStorage2.has(targetSchema)) {\n const schema = schemaStorage2.get(targetSchema);\n res = {};\n const namedSchema = this.getSchemaByName(schema, schemaName);\n for (const key in namedSchema) {\n try {\n const item = namedSchema[key];\n const objItem = obj[key];\n let value;\n if (item.optional && objItem === void 0 || item.defaultValue !== void 0 && objItem === item.defaultValue) {\n continue;\n }\n if (!item.optional && objItem === void 0) {\n throw new SerializerError(targetSchema.name, `Property \'${key}\' is required.`);\n }\n if (typeof item.type === "number") {\n if (item.converter) {\n if (item.repeated) {\n value = objItem.map((el) => item.converter.toJSON(el, obj));\n } else {\n value = item.converter.toJSON(objItem, obj);\n }\n } else {\n value = objItem;\n }\n } else {\n if (item.repeated) {\n value = objItem.map((el) => this.toJSON(el, { schemaName }));\n } else {\n value = this.toJSON(objItem, { schemaName });\n }\n }\n this.checkTypes(value, item);\n this.checkValues(value, item);\n res[item.name || key] = value;\n } catch (e) {\n if (e instanceof SerializerError) {\n throw e;\n } else {\n throw new SerializerError(schema.target.name, `Property \'${key}\' is wrong. ${e.message}`, e);\n }\n }\n }\n } else {\n res = {};\n for (const key in obj) {\n res[key] = this.toJSON(obj[key], { schemaName });\n }\n }\n } else {\n res = obj;\n }\n return res;\n }\n};\n__name(JsonSerializer, "JsonSerializer");\nvar JsonParser = class extends JsonTransform {\n static parse(data, options) {\n const obj = JSON.parse(data);\n return this.fromJSON(obj, options);\n }\n static fromJSON(target, options) {\n const targetSchema = options.targetSchema;\n const schemaName = options.schemaName || DEFAULT_SCHEMA;\n const obj = new targetSchema();\n if (isConvertible2(obj)) {\n return obj.fromJSON(target);\n }\n const schema = schemaStorage2.get(targetSchema);\n const namedSchema = this.getSchemaByName(schema, schemaName);\n const keyErrors = {};\n if (options.strictProperty && !Array.isArray(target)) {\n JsonParser.checkStrictProperty(target, namedSchema, schema);\n }\n for (const key in namedSchema) {\n try {\n const item = namedSchema[key];\n const name = item.name || key;\n const value = target[name];\n if (value === void 0 && (item.optional || item.defaultValue !== void 0)) {\n continue;\n }\n if (!item.optional && value === void 0) {\n throw new ParserError(schema, `Property \'${name}\' is required.`);\n }\n this.checkTypes(value, item);\n this.checkValues(value, item);\n if (typeof item.type === "number") {\n if (item.converter) {\n if (item.repeated) {\n obj[key] = value.map((el) => item.converter.fromJSON(el, obj));\n } else {\n obj[key] = item.converter.fromJSON(value, obj);\n }\n } else {\n obj[key] = value;\n }\n } else {\n const newOptions = {\n ...options,\n targetSchema: item.type,\n schemaName\n };\n if (item.repeated) {\n obj[key] = value.map((el) => this.fromJSON(el, newOptions));\n } else {\n obj[key] = this.fromJSON(value, newOptions);\n }\n }\n } catch (e) {\n if (!(e instanceof ParserError)) {\n e = new ParserError(schema, `Property \'${key}\' is wrong. ${e.message}`, e);\n }\n if (options.strictAllKeys) {\n keyErrors[key] = e;\n } else {\n throw e;\n }\n }\n }\n const keys = Object.keys(keyErrors);\n if (keys.length) {\n throw new KeyError(schema, keys, keyErrors);\n }\n return obj;\n }\n static checkStrictProperty(target, namedSchema, schema) {\n const jsonProps = Object.keys(target);\n const schemaProps = Object.keys(namedSchema);\n const keys = [];\n for (const key of jsonProps) {\n if (schemaProps.indexOf(key) === -1) {\n keys.push(key);\n }\n }\n if (keys.length) {\n throw new KeyError(schema, keys);\n }\n }\n};\n__name(JsonParser, "JsonParser");\nfunction getValidations(item) {\n const validations = [];\n if (item.pattern) {\n validations.push(new PatternValidation(item.pattern));\n }\n if (item.type === JsonPropTypes.Number || item.type === JsonPropTypes.Any) {\n if (item.minInclusive !== void 0 || item.maxInclusive !== void 0) {\n validations.push(new InclusiveValidation(item.minInclusive, item.maxInclusive));\n }\n if (item.minExclusive !== void 0 || item.maxExclusive !== void 0) {\n validations.push(new ExclusiveValidation(item.minExclusive, item.maxExclusive));\n }\n if (item.enumeration !== void 0) {\n validations.push(new EnumerationValidation(item.enumeration));\n }\n }\n if (item.type === JsonPropTypes.String || item.repeated || item.type === JsonPropTypes.Any) {\n if (item.length !== void 0 || item.minLength !== void 0 || item.maxLength !== void 0) {\n validations.push(new LengthValidation(item.length, item.minLength, item.maxLength));\n }\n }\n return validations;\n}\n__name(getValidations, "getValidations");\nvar JsonProp = /* @__PURE__ */ __name((options = {}) => (target, propertyKey) => {\n const errorMessage = `Cannot set type for ${propertyKey} property of ${target.constructor.name} schema`;\n let schema;\n if (!schemaStorage2.has(target.constructor)) {\n schema = schemaStorage2.create(target.constructor);\n schemaStorage2.set(target.constructor, schema);\n } else {\n schema = schemaStorage2.get(target.constructor);\n if (schema.target !== target.constructor) {\n schema = schemaStorage2.create(target.constructor);\n schemaStorage2.set(target.constructor, schema);\n }\n }\n const defaultSchema = {\n type: JsonPropTypes.Any,\n validations: []\n };\n const copyOptions = Object.assign(defaultSchema, options);\n copyOptions.validations = getValidations(copyOptions);\n if (typeof copyOptions.type !== "number") {\n if (!schemaStorage2.has(copyOptions.type) && !isConvertible2(copyOptions.type)) {\n throw new Error(`${errorMessage}. Assigning type doesn\'t have schema.`);\n }\n }\n let schemaNames;\n if (Array.isArray(options.schema)) {\n schemaNames = options.schema;\n } else {\n schemaNames = [options.schema || DEFAULT_SCHEMA];\n }\n for (const schemaName of schemaNames) {\n if (!schema.names[schemaName]) {\n schema.names[schemaName] = {};\n }\n const namedSchema = schema.names[schemaName];\n namedSchema[propertyKey] = copyOptions;\n }\n}, "JsonProp");\n\n// ../../node_modules/.pnpm/webcrypto-core@1.7.7/node_modules/webcrypto-core/build/webcrypto-core.es.js\nvar CryptoError = class extends Error {\n};\n__name(CryptoError, "CryptoError");\nvar AlgorithmError = class extends CryptoError {\n};\n__name(AlgorithmError, "AlgorithmError");\nvar UnsupportedOperationError = class extends CryptoError {\n constructor(methodName) {\n super(`Unsupported operation: ${methodName ? `${methodName}` : ""}`);\n }\n};\n__name(UnsupportedOperationError, "UnsupportedOperationError");\nvar OperationError = class extends CryptoError {\n};\n__name(OperationError, "OperationError");\nvar RequiredPropertyError = class extends CryptoError {\n constructor(propName) {\n super(`${propName}: Missing required property`);\n }\n};\n__name(RequiredPropertyError, "RequiredPropertyError");\nfunction isJWK(data) {\n return typeof data === "object" && "kty" in data;\n}\n__name(isJWK, "isJWK");\nvar ProviderCrypto = class {\n async digest(...args) {\n this.checkDigest.apply(this, args);\n return this.onDigest.apply(this, args);\n }\n checkDigest(algorithm, data) {\n this.checkAlgorithmName(algorithm);\n }\n async onDigest(algorithm, data) {\n throw new UnsupportedOperationError("digest");\n }\n async generateKey(...args) {\n this.checkGenerateKey.apply(this, args);\n return this.onGenerateKey.apply(this, args);\n }\n checkGenerateKey(algorithm, extractable, keyUsages, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkGenerateKeyParams(algorithm);\n if (!(keyUsages && keyUsages.length)) {\n throw new TypeError(`Usages cannot be empty when creating a key.`);\n }\n let allowedUsages;\n if (Array.isArray(this.usages)) {\n allowedUsages = this.usages;\n } else {\n allowedUsages = this.usages.privateKey.concat(this.usages.publicKey);\n }\n this.checkKeyUsages(keyUsages, allowedUsages);\n }\n checkGenerateKeyParams(algorithm) {\n }\n async onGenerateKey(algorithm, extractable, keyUsages, ...args) {\n throw new UnsupportedOperationError("generateKey");\n }\n async sign(...args) {\n this.checkSign.apply(this, args);\n return this.onSign.apply(this, args);\n }\n checkSign(algorithm, key, data, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, "sign");\n }\n async onSign(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("sign");\n }\n async verify(...args) {\n this.checkVerify.apply(this, args);\n return this.onVerify.apply(this, args);\n }\n checkVerify(algorithm, key, signature, data, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, "verify");\n }\n async onVerify(algorithm, key, signature, data, ...args) {\n throw new UnsupportedOperationError("verify");\n }\n async encrypt(...args) {\n this.checkEncrypt.apply(this, args);\n return this.onEncrypt.apply(this, args);\n }\n checkEncrypt(algorithm, key, data, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, options.keyUsage ? "encrypt" : void 0);\n }\n async onEncrypt(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("encrypt");\n }\n async decrypt(...args) {\n this.checkDecrypt.apply(this, args);\n return this.onDecrypt.apply(this, args);\n }\n checkDecrypt(algorithm, key, data, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, options.keyUsage ? "decrypt" : void 0);\n }\n async onDecrypt(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("decrypt");\n }\n async deriveBits(...args) {\n this.checkDeriveBits.apply(this, args);\n return this.onDeriveBits.apply(this, args);\n }\n checkDeriveBits(algorithm, baseKey, length, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(baseKey, options.keyUsage ? "deriveBits" : void 0);\n if (length % 8 !== 0) {\n throw new OperationError("length: Is not multiple of 8");\n }\n }\n async onDeriveBits(algorithm, baseKey, length, ...args) {\n throw new UnsupportedOperationError("deriveBits");\n }\n async exportKey(...args) {\n this.checkExportKey.apply(this, args);\n return this.onExportKey.apply(this, args);\n }\n checkExportKey(format, key, ...args) {\n this.checkKeyFormat(format);\n this.checkCryptoKey(key);\n if (!key.extractable) {\n throw new CryptoError("key: Is not extractable");\n }\n }\n async onExportKey(format, key, ...args) {\n throw new UnsupportedOperationError("exportKey");\n }\n async importKey(...args) {\n this.checkImportKey.apply(this, args);\n return this.onImportKey.apply(this, args);\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n this.checkKeyFormat(format);\n this.checkKeyData(format, keyData);\n this.checkAlgorithmName(algorithm);\n this.checkImportParams(algorithm);\n if (Array.isArray(this.usages)) {\n this.checkKeyUsages(keyUsages, this.usages);\n }\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n throw new UnsupportedOperationError("importKey");\n }\n checkAlgorithmName(algorithm) {\n if (algorithm.name.toLowerCase() !== this.name.toLowerCase()) {\n throw new AlgorithmError("Unrecognized name");\n }\n }\n checkAlgorithmParams(algorithm) {\n }\n checkDerivedKeyParams(algorithm) {\n }\n checkKeyUsages(usages, allowed) {\n for (const usage of usages) {\n if (allowed.indexOf(usage) === -1) {\n throw new TypeError("Cannot create a key using the specified key usages");\n }\n }\n }\n checkCryptoKey(key, keyUsage) {\n this.checkAlgorithmName(key.algorithm);\n if (keyUsage && key.usages.indexOf(keyUsage) === -1) {\n throw new CryptoError(`key does not match that of operation`);\n }\n }\n checkRequiredProperty(data, propName) {\n if (!(propName in data)) {\n throw new RequiredPropertyError(propName);\n }\n }\n checkHashAlgorithm(algorithm, hashAlgorithms) {\n for (const item of hashAlgorithms) {\n if (item.toLowerCase() === algorithm.name.toLowerCase()) {\n return;\n }\n }\n throw new OperationError(`hash: Must be one of ${hashAlgorithms.join(", ")}`);\n }\n checkImportParams(algorithm) {\n }\n checkKeyFormat(format) {\n switch (format) {\n case "raw":\n case "pkcs8":\n case "spki":\n case "jwk":\n break;\n default:\n throw new TypeError("format: Is invalid value. Must be \'jwk\', \'raw\', \'spki\', or \'pkcs8\'");\n }\n }\n checkKeyData(format, keyData) {\n if (!keyData) {\n throw new TypeError("keyData: Cannot be empty on empty on key importing");\n }\n if (format === "jwk") {\n if (!isJWK(keyData)) {\n throw new TypeError("keyData: Is not JsonWebToken");\n }\n } else if (!BufferSourceConverter.isBufferSource(keyData)) {\n throw new TypeError("keyData: Is not ArrayBufferView or ArrayBuffer");\n }\n }\n prepareData(data) {\n return BufferSourceConverter.toArrayBuffer(data);\n }\n};\n__name(ProviderCrypto, "ProviderCrypto");\nvar AesProvider = class extends ProviderCrypto {\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not of type Number");\n }\n switch (algorithm.length) {\n case 128:\n case 192:\n case 256:\n break;\n default:\n throw new TypeError("length: Must be 128, 192, or 256");\n }\n }\n checkDerivedKeyParams(algorithm) {\n this.checkGenerateKeyParams(algorithm);\n }\n};\n__name(AesProvider, "AesProvider");\nvar AesCbcProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CBC";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength !== 16) {\n throw new TypeError("iv: Must have length 16 bytes");\n }\n }\n};\n__name(AesCbcProvider, "AesCbcProvider");\nvar AesCmacProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CMAC";\n this.usages = ["sign", "verify"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new OperationError("length: Must be more than 0");\n }\n }\n};\n__name(AesCmacProvider, "AesCmacProvider");\nvar AesCtrProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CTR";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "counter");\n if (!(algorithm.counter instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.counter))) {\n throw new TypeError("counter: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.counter.byteLength !== 16) {\n throw new TypeError("iv: Must have length 16 bytes");\n }\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new OperationError("length: Must be more than 0");\n }\n }\n};\n__name(AesCtrProvider, "AesCtrProvider");\nvar AesEcbProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-ECB";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n};\n__name(AesEcbProvider, "AesEcbProvider");\nvar AesGcmProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-GCM";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength < 1) {\n throw new OperationError("iv: Must have length more than 0 and less than 2^64 - 1");\n }\n if (!("tagLength" in algorithm)) {\n algorithm.tagLength = 128;\n }\n switch (algorithm.tagLength) {\n case 32:\n case 64:\n case 96:\n case 104:\n case 112:\n case 120:\n case 128:\n break;\n default:\n throw new OperationError("tagLength: Must be one of 32, 64, 96, 104, 112, 120 or 128");\n }\n }\n};\n__name(AesGcmProvider, "AesGcmProvider");\nvar AesKwProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-KW";\n this.usages = ["wrapKey", "unwrapKey"];\n }\n};\n__name(AesKwProvider, "AesKwProvider");\nvar DesProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n if (this.ivSize) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength !== this.ivSize) {\n throw new TypeError(`iv: Must have length ${this.ivSize} bytes`);\n }\n }\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not of type Number");\n }\n if (algorithm.length !== this.keySizeBits) {\n throw new OperationError(`algorithm.length: Must be ${this.keySizeBits}`);\n }\n }\n checkDerivedKeyParams(algorithm) {\n this.checkGenerateKeyParams(algorithm);\n }\n};\n__name(DesProvider, "DesProvider");\nvar RsaProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "publicExponent");\n if (!(algorithm.publicExponent && algorithm.publicExponent instanceof Uint8Array)) {\n throw new TypeError("publicExponent: Missing or not a Uint8Array");\n }\n const publicExponent = Convert.ToBase64(algorithm.publicExponent);\n if (!(publicExponent === "Aw==" || publicExponent === "AQAB")) {\n throw new TypeError("publicExponent: Must be [3] or [1,0,1]");\n }\n this.checkRequiredProperty(algorithm, "modulusLength");\n if (algorithm.modulusLength % 8 || algorithm.modulusLength < 256 || algorithm.modulusLength > 16384) {\n throw new TypeError("The modulus length must be a multiple of 8 bits and >= 256 and <= 16384");\n }\n }\n checkImportParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(RsaProvider, "RsaProvider");\nvar RsaSsaProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSASSA-PKCS1-v1_5";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n }\n};\n__name(RsaSsaProvider, "RsaSsaProvider");\nvar RsaPssProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSA-PSS";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "saltLength");\n if (typeof algorithm.saltLength !== "number") {\n throw new TypeError("saltLength: Is not a Number");\n }\n if (algorithm.saltLength < 0) {\n throw new RangeError("saltLength: Must be positive number");\n }\n }\n};\n__name(RsaPssProvider, "RsaPssProvider");\nvar RsaOaepProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSA-OAEP";\n this.usages = {\n privateKey: ["decrypt", "unwrapKey"],\n publicKey: ["encrypt", "wrapKey"]\n };\n }\n checkAlgorithmParams(algorithm) {\n if (algorithm.label && !(algorithm.label instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.label))) {\n throw new TypeError("label: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n }\n};\n__name(RsaOaepProvider, "RsaOaepProvider");\nvar EllipticProvider = class extends ProviderCrypto {\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "namedCurve");\n this.checkNamedCurve(algorithm.namedCurve);\n }\n checkNamedCurve(namedCurve) {\n for (const item of this.namedCurves) {\n if (item.toLowerCase() === namedCurve.toLowerCase()) {\n return;\n }\n }\n throw new OperationError(`namedCurve: Must be one of ${this.namedCurves.join(", ")}`);\n }\n};\n__name(EllipticProvider, "EllipticProvider");\nvar EcdsaProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDSA";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n this.namedCurves = ["P-256", "P-384", "P-521", "K-256"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(EcdsaProvider, "EcdsaProvider");\nvar KEY_TYPES = ["secret", "private", "public"];\nvar CryptoKey = class {\n static create(algorithm, type, extractable, usages) {\n const key = new this();\n key.algorithm = algorithm;\n key.type = type;\n key.extractable = extractable;\n key.usages = usages;\n return key;\n }\n static isKeyType(data) {\n return KEY_TYPES.indexOf(data) !== -1;\n }\n get [Symbol.toStringTag]() {\n return "CryptoKey";\n }\n};\n__name(CryptoKey, "CryptoKey");\nvar EcdhProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDH";\n this.usages = {\n privateKey: ["deriveBits", "deriveKey"],\n publicKey: []\n };\n this.namedCurves = ["P-256", "P-384", "P-521", "K-256"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "public");\n if (!(algorithm.public instanceof CryptoKey)) {\n throw new TypeError("public: Is not a CryptoKey");\n }\n if (algorithm.public.type !== "public") {\n throw new OperationError("public: Is not a public key");\n }\n if (algorithm.public.algorithm.name !== this.name) {\n throw new OperationError(`public: Is not ${this.name} key`);\n }\n }\n};\n__name(EcdhProvider, "EcdhProvider");\nvar EcdhEsProvider = class extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDH-ES";\n this.namedCurves = ["X25519", "X448"];\n }\n};\n__name(EcdhEsProvider, "EcdhEsProvider");\nvar EdDsaProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "EdDSA";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n this.namedCurves = ["Ed25519", "Ed448"];\n }\n};\n__name(EdDsaProvider, "EdDsaProvider");\nvar ObjectIdentifier2 = /* @__PURE__ */ __name(class ObjectIdentifier3 {\n constructor(value) {\n if (value) {\n this.value = value;\n }\n }\n}, "ObjectIdentifier");\n__decorate([\n AsnProp({ type: AsnPropTypes.ObjectIdentifier })\n], ObjectIdentifier2.prototype, "value", void 0);\nObjectIdentifier2 = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], ObjectIdentifier2);\nvar AlgorithmIdentifier = class {\n constructor(params) {\n Object.assign(this, params);\n }\n};\n__name(AlgorithmIdentifier, "AlgorithmIdentifier");\n__decorate([\n AsnProp({\n type: AsnPropTypes.ObjectIdentifier\n })\n], AlgorithmIdentifier.prototype, "algorithm", void 0);\n__decorate([\n AsnProp({\n type: AsnPropTypes.Any,\n optional: true\n })\n], AlgorithmIdentifier.prototype, "parameters", void 0);\nvar PrivateKeyInfo = class {\n constructor() {\n this.version = 0;\n this.privateKeyAlgorithm = new AlgorithmIdentifier();\n this.privateKey = new ArrayBuffer(0);\n }\n};\n__name(PrivateKeyInfo, "PrivateKeyInfo");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], PrivateKeyInfo.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AlgorithmIdentifier })\n], PrivateKeyInfo.prototype, "privateKeyAlgorithm", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], PrivateKeyInfo.prototype, "privateKey", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Any, optional: true })\n], PrivateKeyInfo.prototype, "attributes", void 0);\nvar PublicKeyInfo = class {\n constructor() {\n this.publicKeyAlgorithm = new AlgorithmIdentifier();\n this.publicKey = new ArrayBuffer(0);\n }\n};\n__name(PublicKeyInfo, "PublicKeyInfo");\n__decorate([\n AsnProp({ type: AlgorithmIdentifier })\n], PublicKeyInfo.prototype, "publicKeyAlgorithm", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], PublicKeyInfo.prototype, "publicKey", void 0);\nvar JsonBase64UrlArrayBufferConverter = {\n fromJSON: (value) => Convert.FromBase64Url(value),\n toJSON: (value) => Convert.ToBase64Url(new Uint8Array(value))\n};\nvar AsnIntegerArrayBufferConverter = {\n fromASN: (value) => {\n const valueHex = value.valueBlock.valueHex;\n return !new Uint8Array(valueHex)[0] ? value.valueBlock.valueHex.slice(1) : value.valueBlock.valueHex;\n },\n toASN: (value) => {\n const valueHex = new Uint8Array(value)[0] > 127 ? combine(new Uint8Array([0]).buffer, value) : value;\n return new Integer({ valueHex });\n }\n};\nvar RsaPrivateKey = class {\n constructor() {\n this.version = 0;\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n this.privateExponent = new ArrayBuffer(0);\n this.prime1 = new ArrayBuffer(0);\n this.prime2 = new ArrayBuffer(0);\n this.exponent1 = new ArrayBuffer(0);\n this.exponent2 = new ArrayBuffer(0);\n this.coefficient = new ArrayBuffer(0);\n }\n};\n__name(RsaPrivateKey, "RsaPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerConverter })\n], RsaPrivateKey.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "n", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "modulus", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "e", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "publicExponent", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "d", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "privateExponent", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "p", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "prime1", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "q", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "prime2", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "dp", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "exponent1", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "dq", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "exponent2", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "qi", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "coefficient", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Any, optional: true })\n], RsaPrivateKey.prototype, "otherPrimeInfos", void 0);\nvar RsaPublicKey = class {\n constructor() {\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n }\n};\n__name(RsaPublicKey, "RsaPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "n", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPublicKey.prototype, "modulus", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "e", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPublicKey.prototype, "publicExponent", void 0);\nvar EcPublicKey = /* @__PURE__ */ __name(class EcPublicKey2 {\n constructor(value) {\n this.value = new ArrayBuffer(0);\n if (value) {\n this.value = value;\n }\n }\n toJSON() {\n let bytes = new Uint8Array(this.value);\n if (bytes[0] !== 4) {\n throw new CryptoError("Wrong ECPoint. Current version supports only Uncompressed (0x04) point");\n }\n bytes = new Uint8Array(this.value.slice(1));\n const size = bytes.length / 2;\n const offset = 0;\n const json = {\n x: Convert.ToBase64Url(bytes.buffer.slice(offset, offset + size)),\n y: Convert.ToBase64Url(bytes.buffer.slice(offset + size, offset + size + size))\n };\n return json;\n }\n fromJSON(json) {\n if (!("x" in json)) {\n throw new Error("x: Missing required property");\n }\n if (!("y" in json)) {\n throw new Error("y: Missing required property");\n }\n const x = Convert.FromBase64Url(json.x);\n const y = Convert.FromBase64Url(json.y);\n const value = combine(new Uint8Array([4]).buffer, x, y);\n this.value = new Uint8Array(value).buffer;\n return this;\n }\n}, "EcPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EcPublicKey.prototype, "value", void 0);\nEcPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EcPublicKey);\nvar EcPrivateKey = class {\n constructor() {\n this.version = 1;\n this.privateKey = new ArrayBuffer(0);\n }\n fromJSON(json) {\n if (!("d" in json)) {\n throw new Error("d: Missing required property");\n }\n this.privateKey = Convert.FromBase64Url(json.d);\n if ("x" in json) {\n const publicKey = new EcPublicKey();\n publicKey.fromJSON(json);\n const asn = AsnSerializer.toASN(publicKey);\n if ("valueHex" in asn.valueBlock) {\n this.publicKey = asn.valueBlock.valueHex;\n }\n }\n return this;\n }\n toJSON() {\n const jwk = {};\n jwk.d = Convert.ToBase64Url(this.privateKey);\n if (this.publicKey) {\n Object.assign(jwk, new EcPublicKey(this.publicKey).toJSON());\n }\n return jwk;\n }\n};\n__name(EcPrivateKey, "EcPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerConverter })\n], EcPrivateKey.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EcPrivateKey.prototype, "privateKey", void 0);\n__decorate([\n AsnProp({ context: 0, type: AsnPropTypes.Any, optional: true })\n], EcPrivateKey.prototype, "parameters", void 0);\n__decorate([\n AsnProp({ context: 1, type: AsnPropTypes.BitString, optional: true })\n], EcPrivateKey.prototype, "publicKey", void 0);\nvar AsnIntegerWithoutPaddingConverter = {\n fromASN: (value) => {\n const bytes = new Uint8Array(value.valueBlock.valueHex);\n return bytes[0] === 0 ? bytes.buffer.slice(1) : bytes.buffer;\n },\n toASN: (value) => {\n const bytes = new Uint8Array(value);\n if (bytes[0] > 127) {\n const newValue = new Uint8Array(bytes.length + 1);\n newValue.set(bytes, 1);\n return new Integer({ valueHex: newValue.buffer });\n }\n return new Integer({ valueHex: value });\n }\n};\nvar index$2 = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n AsnIntegerWithoutPaddingConverter\n});\nvar EcUtils = class {\n static decodePoint(data, pointSize) {\n const view = BufferSourceConverter.toUint8Array(data);\n if (view.length === 0 || view[0] !== 4) {\n throw new Error("Only uncompressed point format supported");\n }\n const n = (view.length - 1) / 2;\n if (n !== Math.ceil(pointSize / 8)) {\n throw new Error("Point does not match field size");\n }\n const xb = view.slice(1, n + 1);\n const yb = view.slice(n + 1, n + 1 + n);\n return { x: xb, y: yb };\n }\n static encodePoint(point, pointSize) {\n const size = Math.ceil(pointSize / 8);\n if (point.x.byteLength !== size || point.y.byteLength !== size) {\n throw new Error("X,Y coordinates don\'t match point size criteria");\n }\n const x = BufferSourceConverter.toUint8Array(point.x);\n const y = BufferSourceConverter.toUint8Array(point.y);\n const res = new Uint8Array(size * 2 + 1);\n res[0] = 4;\n res.set(x, 1);\n res.set(y, size + 1);\n return res;\n }\n static getSize(pointSize) {\n return Math.ceil(pointSize / 8);\n }\n static encodeSignature(signature, pointSize) {\n const size = this.getSize(pointSize);\n const r = BufferSourceConverter.toUint8Array(signature.r);\n const s = BufferSourceConverter.toUint8Array(signature.s);\n const res = new Uint8Array(size * 2);\n res.set(this.padStart(r, size));\n res.set(this.padStart(s, size), size);\n return res;\n }\n static decodeSignature(data, pointSize) {\n const size = this.getSize(pointSize);\n const view = BufferSourceConverter.toUint8Array(data);\n if (view.length !== size * 2) {\n throw new Error("Incorrect size of the signature");\n }\n const r = view.slice(0, size);\n const s = view.slice(size);\n return {\n r: this.trimStart(r),\n s: this.trimStart(s)\n };\n }\n static trimStart(data) {\n let i = 0;\n while (i < data.length - 1 && data[i] === 0) {\n i++;\n }\n if (i === 0) {\n return data;\n }\n return data.slice(i, data.length);\n }\n static padStart(data, size) {\n if (size === data.length) {\n return data;\n }\n const res = new Uint8Array(size);\n res.set(data, size - data.length);\n return res;\n }\n};\n__name(EcUtils, "EcUtils");\nvar EcDsaSignature = class {\n constructor() {\n this.r = new ArrayBuffer(0);\n this.s = new ArrayBuffer(0);\n }\n static fromWebCryptoSignature(value) {\n const pointSize = value.byteLength / 2;\n const point = EcUtils.decodeSignature(value, pointSize * 8);\n const ecSignature = new EcDsaSignature();\n ecSignature.r = BufferSourceConverter.toArrayBuffer(point.r);\n ecSignature.s = BufferSourceConverter.toArrayBuffer(point.s);\n return ecSignature;\n }\n toWebCryptoSignature(pointSize) {\n pointSize !== null && pointSize !== void 0 ? pointSize : pointSize = Math.max(this.r.byteLength, this.s.byteLength) * 8;\n const signature = EcUtils.encodeSignature(this, pointSize);\n return signature.buffer;\n }\n};\n__name(EcDsaSignature, "EcDsaSignature");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerWithoutPaddingConverter })\n], EcDsaSignature.prototype, "r", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerWithoutPaddingConverter })\n], EcDsaSignature.prototype, "s", void 0);\nvar OneAsymmetricKey = class extends PrivateKeyInfo {\n};\n__name(OneAsymmetricKey, "OneAsymmetricKey");\n__decorate([\n AsnProp({ context: 1, implicit: true, type: AsnPropTypes.BitString, optional: true })\n], OneAsymmetricKey.prototype, "publicKey", void 0);\nvar EdPrivateKey = /* @__PURE__ */ __name(class EdPrivateKey2 {\n constructor() {\n this.value = new ArrayBuffer(0);\n }\n fromJSON(json) {\n if (!json.d) {\n throw new Error("d: Missing required property");\n }\n this.value = Convert.FromBase64Url(json.d);\n return this;\n }\n toJSON() {\n const jwk = {\n d: Convert.ToBase64Url(this.value)\n };\n return jwk;\n }\n}, "EdPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EdPrivateKey.prototype, "value", void 0);\nEdPrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPrivateKey);\nvar EdPublicKey = /* @__PURE__ */ __name(class EdPublicKey2 {\n constructor(value) {\n this.value = new ArrayBuffer(0);\n if (value) {\n this.value = value;\n }\n }\n toJSON() {\n const json = {\n x: Convert.ToBase64Url(this.value)\n };\n return json;\n }\n fromJSON(json) {\n if (!("x" in json)) {\n throw new Error("x: Missing required property");\n }\n this.value = Convert.FromBase64Url(json.x);\n return this;\n }\n}, "EdPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], EdPublicKey.prototype, "value", void 0);\nEdPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPublicKey);\nvar CurvePrivateKey = /* @__PURE__ */ __name(class CurvePrivateKey2 {\n}, "CurvePrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString }),\n JsonProp({ type: JsonPropTypes.String, converter: JsonBase64UrlArrayBufferConverter })\n], CurvePrivateKey.prototype, "d", void 0);\nCurvePrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], CurvePrivateKey);\nvar idSecp256r1 = "1.2.840.10045.3.1.7";\nvar idEllipticCurve = "1.3.132.0";\nvar idSecp384r1 = `${idEllipticCurve}.34`;\nvar idSecp521r1 = `${idEllipticCurve}.35`;\nvar idSecp256k1 = `${idEllipticCurve}.10`;\nvar idVersionOne = "1.3.36.3.3.2.8.1.1";\nvar idBrainpoolP160r1 = `${idVersionOne}.1`;\nvar idBrainpoolP160t1 = `${idVersionOne}.2`;\nvar idBrainpoolP192r1 = `${idVersionOne}.3`;\nvar idBrainpoolP192t1 = `${idVersionOne}.4`;\nvar idBrainpoolP224r1 = `${idVersionOne}.5`;\nvar idBrainpoolP224t1 = `${idVersionOne}.6`;\nvar idBrainpoolP256r1 = `${idVersionOne}.7`;\nvar idBrainpoolP256t1 = `${idVersionOne}.8`;\nvar idBrainpoolP320r1 = `${idVersionOne}.9`;\nvar idBrainpoolP320t1 = `${idVersionOne}.10`;\nvar idBrainpoolP384r1 = `${idVersionOne}.11`;\nvar idBrainpoolP384t1 = `${idVersionOne}.12`;\nvar idBrainpoolP512r1 = `${idVersionOne}.13`;\nvar idBrainpoolP512t1 = `${idVersionOne}.14`;\nvar idX25519 = "1.3.101.110";\nvar idX448 = "1.3.101.111";\nvar idEd25519 = "1.3.101.112";\nvar idEd448 = "1.3.101.113";\nvar index$1 = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n AlgorithmIdentifier,\n get CurvePrivateKey() {\n return CurvePrivateKey;\n },\n EcDsaSignature,\n EcPrivateKey,\n get EcPublicKey() {\n return EcPublicKey;\n },\n get EdPrivateKey() {\n return EdPrivateKey;\n },\n get EdPublicKey() {\n return EdPublicKey;\n },\n get ObjectIdentifier() {\n return ObjectIdentifier2;\n },\n OneAsymmetricKey,\n PrivateKeyInfo,\n PublicKeyInfo,\n RsaPrivateKey,\n RsaPublicKey,\n converters: index$2,\n idBrainpoolP160r1,\n idBrainpoolP160t1,\n idBrainpoolP192r1,\n idBrainpoolP192t1,\n idBrainpoolP224r1,\n idBrainpoolP224t1,\n idBrainpoolP256r1,\n idBrainpoolP256t1,\n idBrainpoolP320r1,\n idBrainpoolP320t1,\n idBrainpoolP384r1,\n idBrainpoolP384t1,\n idBrainpoolP512r1,\n idBrainpoolP512t1,\n idEd25519,\n idEd448,\n idEllipticCurve,\n idSecp256k1,\n idSecp256r1,\n idSecp384r1,\n idSecp521r1,\n idVersionOne,\n idX25519,\n idX448\n});\nvar EcCurves = class {\n constructor() {\n }\n static register(item) {\n const oid = new ObjectIdentifier2();\n oid.value = item.id;\n const raw = AsnConvert.serialize(oid);\n this.items.push({\n ...item,\n raw\n });\n this.names.push(item.name);\n }\n static find(nameOrId) {\n nameOrId = nameOrId.toUpperCase();\n for (const item of this.items) {\n if (item.name.toUpperCase() === nameOrId || item.id.toUpperCase() === nameOrId) {\n return item;\n }\n }\n return null;\n }\n static get(nameOrId) {\n const res = this.find(nameOrId);\n if (!res) {\n throw new Error(`Unsupported EC named curve \'${nameOrId}\'`);\n }\n return res;\n }\n};\n__name(EcCurves, "EcCurves");\nEcCurves.items = [];\nEcCurves.names = [];\nEcCurves.register({ name: "P-256", id: idSecp256r1, size: 256 });\nEcCurves.register({ name: "P-384", id: idSecp384r1, size: 384 });\nEcCurves.register({ name: "P-521", id: idSecp521r1, size: 521 });\nEcCurves.register({ name: "K-256", id: idSecp256k1, size: 256 });\nEcCurves.register({ name: "brainpoolP160r1", id: idBrainpoolP160r1, size: 160 });\nEcCurves.register({ name: "brainpoolP160t1", id: idBrainpoolP160t1, size: 160 });\nEcCurves.register({ name: "brainpoolP192r1", id: idBrainpoolP192r1, size: 192 });\nEcCurves.register({ name: "brainpoolP192t1", id: idBrainpoolP192t1, size: 192 });\nEcCurves.register({ name: "brainpoolP224r1", id: idBrainpoolP224r1, size: 224 });\nEcCurves.register({ name: "brainpoolP224t1", id: idBrainpoolP224t1, size: 224 });\nEcCurves.register({ name: "brainpoolP256r1", id: idBrainpoolP256r1, size: 256 });\nEcCurves.register({ name: "brainpoolP256t1", id: idBrainpoolP256t1, size: 256 });\nEcCurves.register({ name: "brainpoolP320r1", id: idBrainpoolP320r1, size: 320 });\nEcCurves.register({ name: "brainpoolP320t1", id: idBrainpoolP320t1, size: 320 });\nEcCurves.register({ name: "brainpoolP384r1", id: idBrainpoolP384r1, size: 384 });\nEcCurves.register({ name: "brainpoolP384t1", id: idBrainpoolP384t1, size: 384 });\nEcCurves.register({ name: "brainpoolP512r1", id: idBrainpoolP512r1, size: 512 });\nEcCurves.register({ name: "brainpoolP512t1", id: idBrainpoolP512t1, size: 512 });\nvar HmacProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "HMAC";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["sign", "verify"];\n }\n getDefaultLength(algName) {\n switch (algName.toUpperCase()) {\n case "SHA-1":\n case "SHA-256":\n case "SHA-384":\n case "SHA-512":\n return 512;\n default:\n throw new Error(`Unknown algorithm name \'${algName}\'`);\n }\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n if ("length" in algorithm) {\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new RangeError("length: Number is out of range");\n }\n }\n }\n checkImportParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(HmacProvider, "HmacProvider");\nvar Pbkdf2Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "PBKDF2";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["deriveBits", "deriveKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "salt");\n if (!(algorithm.salt instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.salt))) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n this.checkRequiredProperty(algorithm, "iterations");\n if (typeof algorithm.iterations !== "number") {\n throw new TypeError("iterations: Is not a Number");\n }\n if (algorithm.iterations < 1) {\n throw new TypeError("iterations: Is less than 1");\n }\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n super.checkImportKey(format, keyData, algorithm, extractable, keyUsages);\n if (extractable) {\n throw new SyntaxError("extractable: Must be \'false\'");\n }\n }\n};\n__name(Pbkdf2Provider, "Pbkdf2Provider");\nvar HkdfProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "HKDF";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["deriveKey", "deriveBits"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "salt");\n if (!BufferSourceConverter.isBufferSource(algorithm.salt)) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n this.checkRequiredProperty(algorithm, "info");\n if (!BufferSourceConverter.isBufferSource(algorithm.info)) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n super.checkImportKey(format, keyData, algorithm, extractable, keyUsages);\n if (extractable) {\n throw new SyntaxError("extractable: Must be \'false\'");\n }\n }\n};\n__name(HkdfProvider, "HkdfProvider");\nvar ShakeProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.usages = [];\n this.defaultLength = 0;\n }\n digest(...args) {\n args[0] = { length: this.defaultLength, ...args[0] };\n return super.digest.apply(this, args);\n }\n checkDigest(algorithm, data) {\n super.checkDigest(algorithm, data);\n const length = algorithm.length || 0;\n if (typeof length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (length < 0) {\n throw new TypeError("length: Is negative");\n }\n }\n};\n__name(ShakeProvider, "ShakeProvider");\nvar Shake128Provider = class extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake128";\n this.defaultLength = 16;\n }\n};\n__name(Shake128Provider, "Shake128Provider");\nvar Shake256Provider = class extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake256";\n this.defaultLength = 32;\n }\n};\n__name(Shake256Provider, "Shake256Provider");\nvar Crypto = class {\n get [Symbol.toStringTag]() {\n return "Crypto";\n }\n randomUUID() {\n const b = this.getRandomValues(new Uint8Array(16));\n b[6] = b[6] & 15 | 64;\n b[8] = b[8] & 63 | 128;\n const uuid = Convert.ToHex(b).toLowerCase();\n return `${uuid.substring(0, 8)}-${uuid.substring(8, 12)}-${uuid.substring(12, 16)}-${uuid.substring(16, 20)}-${uuid.substring(20)}`;\n }\n};\n__name(Crypto, "Crypto");\nvar ProviderStorage = class {\n constructor() {\n this.items = {};\n }\n get(algorithmName) {\n return this.items[algorithmName.toLowerCase()] || null;\n }\n set(provider) {\n this.items[provider.name.toLowerCase()] = provider;\n }\n removeAt(algorithmName) {\n const provider = this.get(algorithmName.toLowerCase());\n if (provider) {\n delete this.items[algorithmName];\n }\n return provider;\n }\n has(name) {\n return !!this.get(name);\n }\n get length() {\n return Object.keys(this.items).length;\n }\n get algorithms() {\n const algorithms = [];\n for (const key in this.items) {\n const provider = this.items[key];\n algorithms.push(provider.name);\n }\n return algorithms.sort();\n }\n};\n__name(ProviderStorage, "ProviderStorage");\nvar SubtleCrypto = class {\n constructor() {\n this.providers = new ProviderStorage();\n }\n static isHashedAlgorithm(data) {\n return data && typeof data === "object" && "name" in data && "hash" in data ? true : false;\n }\n get [Symbol.toStringTag]() {\n return "SubtleCrypto";\n }\n async digest(...args) {\n this.checkRequiredArguments(args, 2, "digest");\n const [algorithm, data, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.digest(preparedAlgorithm, preparedData, ...params);\n return result;\n }\n async generateKey(...args) {\n this.checkRequiredArguments(args, 3, "generateKey");\n const [algorithm, extractable, keyUsages, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.generateKey({ ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n return result;\n }\n async sign(...args) {\n this.checkRequiredArguments(args, 3, "sign");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.sign({ ...preparedAlgorithm, name: provider.name }, key, preparedData, ...params);\n return result;\n }\n async verify(...args) {\n this.checkRequiredArguments(args, 4, "verify");\n const [algorithm, key, signature, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const preparedSignature = BufferSourceConverter.toArrayBuffer(signature);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.verify({ ...preparedAlgorithm, name: provider.name }, key, preparedSignature, preparedData, ...params);\n return result;\n }\n async encrypt(...args) {\n this.checkRequiredArguments(args, 3, "encrypt");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.encrypt({ ...preparedAlgorithm, name: provider.name }, key, preparedData, { keyUsage: true }, ...params);\n return result;\n }\n async decrypt(...args) {\n this.checkRequiredArguments(args, 3, "decrypt");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.decrypt({ ...preparedAlgorithm, name: provider.name }, key, preparedData, { keyUsage: true }, ...params);\n return result;\n }\n async deriveBits(...args) {\n this.checkRequiredArguments(args, 3, "deriveBits");\n const [algorithm, baseKey, length, ...params] = args;\n this.checkCryptoKey(baseKey);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.deriveBits({ ...preparedAlgorithm, name: provider.name }, baseKey, length, { keyUsage: true }, ...params);\n return result;\n }\n async deriveKey(...args) {\n this.checkRequiredArguments(args, 5, "deriveKey");\n const [algorithm, baseKey, derivedKeyType, extractable, keyUsages, ...params] = args;\n const preparedDerivedKeyType = this.prepareAlgorithm(derivedKeyType);\n const importProvider = this.getProvider(preparedDerivedKeyType.name);\n importProvider.checkDerivedKeyParams(preparedDerivedKeyType);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n provider.checkCryptoKey(baseKey, "deriveKey");\n const derivedBits = await provider.deriveBits({ ...preparedAlgorithm, name: provider.name }, baseKey, derivedKeyType.length || 512, { keyUsage: false }, ...params);\n return this.importKey("raw", derivedBits, derivedKeyType, extractable, keyUsages, ...params);\n }\n async exportKey(...args) {\n this.checkRequiredArguments(args, 2, "exportKey");\n const [format, key, ...params] = args;\n this.checkCryptoKey(key);\n const provider = this.getProvider(key.algorithm.name);\n const result = await provider.exportKey(format, key, ...params);\n return result;\n }\n async importKey(...args) {\n this.checkRequiredArguments(args, 5, "importKey");\n const [format, keyData, algorithm, extractable, keyUsages, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n if (["pkcs8", "spki", "raw"].indexOf(format) !== -1) {\n const preparedData = BufferSourceConverter.toArrayBuffer(keyData);\n return provider.importKey(format, preparedData, { ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n } else {\n if (!keyData.kty) {\n throw new TypeError("keyData: Is not JSON");\n }\n }\n return provider.importKey(format, keyData, { ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n }\n async wrapKey(format, key, wrappingKey, wrapAlgorithm, ...args) {\n let keyData = await this.exportKey(format, key, ...args);\n if (format === "jwk") {\n const json = JSON.stringify(keyData);\n keyData = Convert.FromUtf8String(json);\n }\n const preparedAlgorithm = this.prepareAlgorithm(wrapAlgorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(keyData);\n const provider = this.getProvider(preparedAlgorithm.name);\n return provider.encrypt({ ...preparedAlgorithm, name: provider.name }, wrappingKey, preparedData, { keyUsage: false }, ...args);\n }\n async unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages, ...args) {\n const preparedAlgorithm = this.prepareAlgorithm(unwrapAlgorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(wrappedKey);\n const provider = this.getProvider(preparedAlgorithm.name);\n let keyData = await provider.decrypt({ ...preparedAlgorithm, name: provider.name }, unwrappingKey, preparedData, { keyUsage: false }, ...args);\n if (format === "jwk") {\n try {\n keyData = JSON.parse(Convert.ToUtf8String(keyData));\n } catch (e) {\n const error = new TypeError("wrappedKey: Is not a JSON");\n error.internal = e;\n throw error;\n }\n }\n return this.importKey(format, keyData, unwrappedKeyAlgorithm, extractable, keyUsages, ...args);\n }\n checkRequiredArguments(args, size, methodName) {\n if (args.length < size) {\n throw new TypeError(`Failed to execute \'${methodName}\' on \'SubtleCrypto\': ${size} arguments required, but only ${args.length} present`);\n }\n }\n prepareAlgorithm(algorithm) {\n if (typeof algorithm === "string") {\n return {\n name: algorithm\n };\n }\n if (SubtleCrypto.isHashedAlgorithm(algorithm)) {\n const preparedAlgorithm = { ...algorithm };\n preparedAlgorithm.hash = this.prepareAlgorithm(algorithm.hash);\n return preparedAlgorithm;\n }\n return { ...algorithm };\n }\n getProvider(name) {\n const provider = this.providers.get(name);\n if (!provider) {\n throw new AlgorithmError("Unrecognized name");\n }\n return provider;\n }\n checkCryptoKey(key) {\n if (!(key instanceof CryptoKey)) {\n throw new TypeError(`Key is not of type \'CryptoKey\'`);\n }\n }\n};\n__name(SubtleCrypto, "SubtleCrypto");\n\n// ../../node_modules/.pnpm/@peculiar+webcrypto@1.4.3/node_modules/@peculiar/webcrypto/build/webcrypto.es.js\nvar crypto = __toESM(require("crypto"));\nvar import_crypto = __toESM(require("crypto"));\nvar process = __toESM(require("process"));\nvar JsonBase64UrlConverter = {\n fromJSON: (value) => Buffer.from(Convert.FromBase64Url(value)),\n toJSON: (value) => Convert.ToBase64Url(value)\n};\nvar CryptoKey2 = class extends CryptoKey {\n constructor() {\n super(...arguments);\n this.data = Buffer.alloc(0);\n this.algorithm = { name: "" };\n this.extractable = false;\n this.type = "secret";\n this.usages = [];\n this.kty = "oct";\n this.alg = "";\n }\n};\n__name(CryptoKey2, "CryptoKey");\n__decorate([\n JsonProp({ name: "ext", type: JsonPropTypes.Boolean, optional: true })\n], CryptoKey2.prototype, "extractable", void 0);\n__decorate([\n JsonProp({ name: "key_ops", type: JsonPropTypes.String, repeated: true, optional: true })\n], CryptoKey2.prototype, "usages", void 0);\n__decorate([\n JsonProp({ type: JsonPropTypes.String })\n], CryptoKey2.prototype, "kty", void 0);\n__decorate([\n JsonProp({ type: JsonPropTypes.String, optional: true })\n], CryptoKey2.prototype, "alg", void 0);\nvar SymmetricKey = class extends CryptoKey2 {\n constructor() {\n super(...arguments);\n this.kty = "oct";\n this.type = "secret";\n }\n};\n__name(SymmetricKey, "SymmetricKey");\nvar AsymmetricKey = class extends CryptoKey2 {\n};\n__name(AsymmetricKey, "AsymmetricKey");\nvar AesCryptoKey = class extends SymmetricKey {\n get alg() {\n switch (this.algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return `A${this.algorithm.length}CBC`;\n case "AES-CTR":\n return `A${this.algorithm.length}CTR`;\n case "AES-GCM":\n return `A${this.algorithm.length}GCM`;\n case "AES-KW":\n return `A${this.algorithm.length}KW`;\n case "AES-CMAC":\n return `A${this.algorithm.length}CMAC`;\n case "AES-ECB":\n return `A${this.algorithm.length}ECB`;\n default:\n throw new AlgorithmError("Unsupported algorithm name");\n }\n }\n set alg(value) {\n }\n};\n__name(AesCryptoKey, "AesCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], AesCryptoKey.prototype, "data", void 0);\nvar AesCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const key = new AesCryptoKey();\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(algorithm.length >> 3);\n return key;\n }\n static async exportKey(format, key) {\n if (!(key instanceof AesCryptoKey)) {\n throw new Error("key: Is not AesCryptoKey");\n }\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "raw":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: AesCryptoKey });\n break;\n case "raw":\n key = new AesCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = algorithm;\n key.algorithm.length = key.data.length << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n switch (key.algorithm.length) {\n case 128:\n case 192:\n case 256:\n break;\n default:\n throw new OperationError("keyData: Is wrong key length");\n }\n return key;\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return this.encryptAesCBC(algorithm, key, Buffer.from(data));\n case "AES-CTR":\n return this.encryptAesCTR(algorithm, key, Buffer.from(data));\n case "AES-GCM":\n return this.encryptAesGCM(algorithm, key, Buffer.from(data));\n case "AES-KW":\n return this.encryptAesKW(algorithm, key, Buffer.from(data));\n case "AES-ECB":\n return this.encryptAesECB(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n if (!(key instanceof AesCryptoKey)) {\n throw new Error("key: Is not AesCryptoKey");\n }\n switch (algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return this.decryptAesCBC(algorithm, key, Buffer.from(data));\n case "AES-CTR":\n return this.decryptAesCTR(algorithm, key, Buffer.from(data));\n case "AES-GCM":\n return this.decryptAesGCM(algorithm, key, Buffer.from(data));\n case "AES-KW":\n return this.decryptAesKW(algorithm, key, Buffer.from(data));\n case "AES-ECB":\n return this.decryptAesECB(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encryptAesCBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-cbc`, key.data, new Uint8Array(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesCBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesCTR(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-ctr`, key.data, Buffer.from(algorithm.counter));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesCTR(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-ctr`, key.data, new Uint8Array(algorithm.counter));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesGCM(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-gcm`, key.data, Buffer.from(algorithm.iv), {\n authTagLength: (algorithm.tagLength || 128) >> 3\n });\n if (algorithm.additionalData) {\n cipher.setAAD(Buffer.from(algorithm.additionalData));\n }\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final(), cipher.getAuthTag()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesGCM(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-gcm`, key.data, new Uint8Array(algorithm.iv));\n const tagLength = (algorithm.tagLength || 128) >> 3;\n const enc = data.slice(0, data.length - tagLength);\n const tag = data.slice(data.length - tagLength);\n if (algorithm.additionalData) {\n decipher.setAAD(Buffer.from(algorithm.additionalData));\n }\n decipher.setAuthTag(tag);\n let dec = decipher.update(enc);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesKW(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`id-aes${key.algorithm.length}-wrap`, key.data, this.AES_KW_IV);\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n return new Uint8Array(enc).buffer;\n }\n static async decryptAesKW(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`id-aes${key.algorithm.length}-wrap`, key.data, this.AES_KW_IV);\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesECB(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-ecb`, key.data, new Uint8Array(0));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesECB(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-ecb`, key.data, new Uint8Array(0));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n};\n__name(AesCrypto, "AesCrypto");\nAesCrypto.AES_KW_IV = Buffer.from("A6A6A6A6A6A6A6A6", "hex");\nvar keyStorage = /* @__PURE__ */ new WeakMap();\nfunction getCryptoKey(key) {\n const res = keyStorage.get(key);\n if (!res) {\n throw new OperationError("Cannot get CryptoKey from secure storage");\n }\n return res;\n}\n__name(getCryptoKey, "getCryptoKey");\nfunction setCryptoKey(value) {\n const key = CryptoKey.create(value.algorithm, value.type, value.extractable, value.usages);\n Object.freeze(key);\n keyStorage.set(key, value);\n return key;\n}\n__name(setCryptoKey, "setCryptoKey");\nvar AesCbcProvider2 = class extends AesCbcProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCbcProvider2, "AesCbcProvider");\nvar zero = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\nvar rb = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135]);\nvar blockSize = 16;\nfunction bitShiftLeft(buffer) {\n const shifted = Buffer.alloc(buffer.length);\n const last = buffer.length - 1;\n for (let index = 0; index < last; index++) {\n shifted[index] = buffer[index] << 1;\n if (buffer[index + 1] & 128) {\n shifted[index] += 1;\n }\n }\n shifted[last] = buffer[last] << 1;\n return shifted;\n}\n__name(bitShiftLeft, "bitShiftLeft");\nfunction xor(a, b) {\n const length = Math.min(a.length, b.length);\n const output = Buffer.alloc(length);\n for (let index = 0; index < length; index++) {\n output[index] = a[index] ^ b[index];\n }\n return output;\n}\n__name(xor, "xor");\nfunction aes(key, message) {\n const cipher = crypto.createCipheriv(`aes${key.length << 3}`, key, zero);\n const result = cipher.update(message);\n cipher.final();\n return result;\n}\n__name(aes, "aes");\nfunction getMessageBlock(message, blockIndex) {\n const block = Buffer.alloc(blockSize);\n const start = blockIndex * blockSize;\n const end = start + blockSize;\n message.copy(block, 0, start, end);\n return block;\n}\n__name(getMessageBlock, "getMessageBlock");\nfunction getPaddedMessageBlock(message, blockIndex) {\n const block = Buffer.alloc(blockSize);\n const start = blockIndex * blockSize;\n const end = message.length;\n block.fill(0);\n message.copy(block, 0, start, end);\n block[end - start] = 128;\n return block;\n}\n__name(getPaddedMessageBlock, "getPaddedMessageBlock");\nfunction generateSubkeys(key) {\n const l = aes(key, zero);\n let subkey1 = bitShiftLeft(l);\n if (l[0] & 128) {\n subkey1 = xor(subkey1, rb);\n }\n let subkey2 = bitShiftLeft(subkey1);\n if (subkey1[0] & 128) {\n subkey2 = xor(subkey2, rb);\n }\n return { subkey1, subkey2 };\n}\n__name(generateSubkeys, "generateSubkeys");\nfunction aesCmac(key, message) {\n const subkeys = generateSubkeys(key);\n let blockCount = Math.ceil(message.length / blockSize);\n let lastBlockCompleteFlag;\n let lastBlock;\n if (blockCount === 0) {\n blockCount = 1;\n lastBlockCompleteFlag = false;\n } else {\n lastBlockCompleteFlag = message.length % blockSize === 0;\n }\n const lastBlockIndex = blockCount - 1;\n if (lastBlockCompleteFlag) {\n lastBlock = xor(getMessageBlock(message, lastBlockIndex), subkeys.subkey1);\n } else {\n lastBlock = xor(getPaddedMessageBlock(message, lastBlockIndex), subkeys.subkey2);\n }\n let x = zero;\n let y;\n for (let index = 0; index < lastBlockIndex; index++) {\n y = xor(x, getMessageBlock(message, index));\n x = aes(key, y);\n }\n y = xor(lastBlock, x);\n return aes(key, y);\n}\n__name(aesCmac, "aesCmac");\nvar AesCmacProvider2 = class extends AesCmacProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onSign(algorithm, key, data) {\n const result = aesCmac(getCryptoKey(key).data, Buffer.from(data));\n return new Uint8Array(result).buffer;\n }\n async onVerify(algorithm, key, signature, data) {\n const signature2 = await this.sign(algorithm, key, data);\n return Buffer.from(signature).compare(Buffer.from(signature2)) === 0;\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCmacProvider2, "AesCmacProvider");\nvar AesCtrProvider2 = class extends AesCtrProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCtrProvider2, "AesCtrProvider");\nvar AesGcmProvider2 = class extends AesGcmProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesGcmProvider2, "AesGcmProvider");\nvar AesKwProvider2 = class extends AesKwProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const res = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesKwProvider2, "AesKwProvider");\nvar AesEcbProvider2 = class extends AesEcbProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesEcbProvider2, "AesEcbProvider");\nvar DesCryptoKey = class extends SymmetricKey {\n get alg() {\n switch (this.algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return `DES-CBC`;\n case "DES-EDE3-CBC":\n return `3DES-CBC`;\n default:\n throw new AlgorithmError("Unsupported algorithm name");\n }\n }\n set alg(value) {\n }\n};\n__name(DesCryptoKey, "DesCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], DesCryptoKey.prototype, "data", void 0);\nvar DesCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const key = new DesCryptoKey();\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(algorithm.length >> 3);\n return key;\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "raw":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: DesCryptoKey });\n break;\n case "raw":\n key = new DesCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return this.encryptDesCBC(algorithm, key, Buffer.from(data));\n case "DES-EDE3-CBC":\n return this.encryptDesEDE3CBC(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n if (!(key instanceof DesCryptoKey)) {\n throw new Error("key: Is not DesCryptoKey");\n }\n switch (algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return this.decryptDesCBC(algorithm, key, Buffer.from(data));\n case "DES-EDE3-CBC":\n return this.decryptDesEDE3CBC(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encryptDesCBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`des-cbc`, key.data, new Uint8Array(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptDesCBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`des-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptDesEDE3CBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`des-ede3-cbc`, key.data, Buffer.from(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptDesEDE3CBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`des-ede3-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n};\n__name(DesCrypto, "DesCrypto");\nvar DesCbcProvider = class extends DesProvider {\n constructor() {\n super(...arguments);\n this.keySizeBits = 64;\n this.ivSize = 8;\n this.name = "DES-CBC";\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await DesCrypto.generateKey({\n name: this.name,\n length: this.keySizeBits\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return DesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return DesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return DesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await DesCrypto.importKey(format, keyData, { name: this.name, length: this.keySizeBits }, extractable, keyUsages);\n if (key.data.length !== this.keySizeBits >> 3) {\n throw new OperationError("keyData: Wrong key size");\n }\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof DesCryptoKey)) {\n throw new TypeError("key: Is not a DesCryptoKey");\n }\n }\n};\n__name(DesCbcProvider, "DesCbcProvider");\nvar DesEde3CbcProvider = class extends DesProvider {\n constructor() {\n super(...arguments);\n this.keySizeBits = 192;\n this.ivSize = 8;\n this.name = "DES-EDE3-CBC";\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await DesCrypto.generateKey({\n name: this.name,\n length: this.keySizeBits\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return DesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return DesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return DesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await DesCrypto.importKey(format, keyData, { name: this.name, length: this.keySizeBits }, extractable, keyUsages);\n if (key.data.length !== this.keySizeBits >> 3) {\n throw new OperationError("keyData: Wrong key size");\n }\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof DesCryptoKey)) {\n throw new TypeError("key: Is not a DesCryptoKey");\n }\n }\n};\n__name(DesEde3CbcProvider, "DesEde3CbcProvider");\nfunction getJwkAlgorithm(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP": {\n const mdSize = /(\\d+)$/.exec(algorithm.hash.name)[1];\n return `RSA-OAEP${mdSize !== "1" ? `-${mdSize}` : ""}`;\n }\n case "RSASSA-PKCS1-V1_5":\n return `RS${/(\\d+)$/.exec(algorithm.hash.name)[1]}`;\n case "RSA-PSS":\n return `PS${/(\\d+)$/.exec(algorithm.hash.name)[1]}`;\n case "RSA-PKCS1":\n return `RS1`;\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n}\n__name(getJwkAlgorithm, "getJwkAlgorithm");\nvar RsaPrivateKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.RsaPrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "RSA",\n alg: getJwkAlgorithm(this.algorithm),\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.RsaPrivateKey });\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.privateKeyAlgorithm.parameters = null;\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n }\n};\n__name(RsaPrivateKey2, "RsaPrivateKey");\nvar RsaPublicKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return AsnParser.parse(keyInfo.publicKey, index$1.RsaPublicKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "RSA",\n alg: getJwkAlgorithm(this.algorithm),\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.RsaPublicKey });\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.publicKeyAlgorithm.parameters = null;\n keyInfo.publicKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n }\n};\n__name(RsaPublicKey2, "RsaPublicKey");\nvar RsaCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new RsaPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new RsaPublicKey2();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const publicExponent = Buffer.concat([\n Buffer.alloc(4 - algorithm.publicExponent.byteLength, 0),\n Buffer.from(algorithm.publicExponent)\n ]).readInt32BE(0);\n const keys = import_crypto.default.generateKeyPairSync("rsa", {\n modulusLength: algorithm.modulusLength,\n publicExponent,\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\', \'pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.RsaPrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.RsaPublicKey });\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.publicKey, index$1.RsaPublicKey);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.RsaPrivateKey);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'pkcs8\' or \'spki\'");\n }\n }\n static async sign(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-PSS":\n case "RSASSA-PKCS1-V1_5":\n return this.signRsa(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async verify(algorithm, key, signature, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-PSS":\n case "RSASSA-PKCS1-V1_5":\n return this.verifySSA(algorithm, key, data, signature);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP":\n return this.encryptOAEP(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP":\n return this.decryptOAEP(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.privateKeyAlgorithm.parameters = null;\n keyInfo.privateKey = AsnSerializer.serialize(asnKey);\n const key = new RsaPrivateKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.algorithm.publicExponent = new Uint8Array(asnKey.publicExponent);\n key.algorithm.modulusLength = asnKey.modulus.byteLength << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.publicKeyAlgorithm.parameters = null;\n keyInfo.publicKey = AsnSerializer.serialize(asnKey);\n const key = new RsaPublicKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.algorithm.publicExponent = new Uint8Array(asnKey.publicExponent);\n key.algorithm.modulusLength = asnKey.modulus.byteLength << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static getCryptoAlgorithm(alg) {\n switch (alg.hash.name.toUpperCase()) {\n case "SHA-1":\n return "RSA-SHA1";\n case "SHA-256":\n return "RSA-SHA256";\n case "SHA-384":\n return "RSA-SHA384";\n case "SHA-512":\n return "RSA-SHA512";\n case "SHA3-256":\n return "RSA-SHA3-256";\n case "SHA3-384":\n return "RSA-SHA3-384";\n case "SHA3-512":\n return "RSA-SHA3-512";\n default:\n throw new OperationError("algorithm.hash: Is not recognized");\n }\n }\n static signRsa(algorithm, key, data) {\n const cryptoAlg = this.getCryptoAlgorithm(key.algorithm);\n const signer = import_crypto.default.createSign(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n if (algorithm.name.toUpperCase() === "RSA-PSS") {\n options.padding = import_crypto.default.constants.RSA_PKCS1_PSS_PADDING;\n options.saltLength = algorithm.saltLength;\n }\n const signature = signer.sign(options);\n return new Uint8Array(signature).buffer;\n }\n static verifySSA(algorithm, key, data, signature) {\n const cryptoAlg = this.getCryptoAlgorithm(key.algorithm);\n const signer = import_crypto.default.createVerify(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n if (algorithm.name.toUpperCase() === "RSA-PSS") {\n options.padding = import_crypto.default.constants.RSA_PKCS1_PSS_PADDING;\n options.saltLength = algorithm.saltLength;\n }\n const ok = signer.verify(options, signature);\n return ok;\n }\n static encryptOAEP(algorithm, key, data) {\n const options = {\n key: `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`,\n padding: import_crypto.default.constants.RSA_PKCS1_OAEP_PADDING\n };\n if (algorithm.label)\n ;\n return new Uint8Array(import_crypto.default.publicEncrypt(options, data)).buffer;\n }\n static decryptOAEP(algorithm, key, data) {\n const options = {\n key: `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`,\n padding: import_crypto.default.constants.RSA_PKCS1_OAEP_PADDING\n };\n if (algorithm.label)\n ;\n return new Uint8Array(import_crypto.default.privateDecrypt(options, data)).buffer;\n }\n};\n__name(RsaCrypto, "RsaCrypto");\nRsaCrypto.publicKeyUsages = ["verify", "encrypt", "wrapKey"];\nRsaCrypto.privateKeyUsages = ["sign", "decrypt", "unwrapKey"];\nvar RsaSsaProvider2 = class extends RsaSsaProvider {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return RsaCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return RsaCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n};\n__name(RsaSsaProvider2, "RsaSsaProvider");\nvar RsaPssProvider2 = class extends RsaPssProvider {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return RsaCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return RsaCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n};\n__name(RsaPssProvider2, "RsaPssProvider");\nvar ShaCrypto = class {\n static size(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "SHA-1":\n return 160;\n case "SHA-256":\n case "SHA3-256":\n return 256;\n case "SHA-384":\n case "SHA3-384":\n return 384;\n case "SHA-512":\n case "SHA3-512":\n return 512;\n default:\n throw new Error("Unrecognized name");\n }\n }\n static getAlgorithmName(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "SHA-1":\n return "sha1";\n case "SHA-256":\n return "sha256";\n case "SHA-384":\n return "sha384";\n case "SHA-512":\n return "sha512";\n case "SHA3-256":\n return "sha3-256";\n case "SHA3-384":\n return "sha3-384";\n case "SHA3-512":\n return "sha3-512";\n default:\n throw new Error("Unrecognized name");\n }\n }\n static digest(algorithm, data) {\n const hashAlg = this.getAlgorithmName(algorithm);\n const hash = import_crypto.default.createHash(hashAlg).update(Buffer.from(data)).digest();\n return new Uint8Array(hash).buffer;\n }\n};\n__name(ShaCrypto, "ShaCrypto");\nvar RsaOaepProvider2 = class extends RsaOaepProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onEncrypt(algorithm, key, data) {\n const internalKey = getCryptoKey(key);\n const dataView = new Uint8Array(data);\n const keySize = Math.ceil(internalKey.algorithm.modulusLength >> 3);\n const hashSize = ShaCrypto.size(internalKey.algorithm.hash) >> 3;\n const dataLength = dataView.byteLength;\n const psLength = keySize - dataLength - 2 * hashSize - 2;\n if (dataLength > keySize - 2 * hashSize - 2) {\n throw new Error("Data too large");\n }\n const message = new Uint8Array(keySize);\n const seed = message.subarray(1, hashSize + 1);\n const dataBlock = message.subarray(hashSize + 1);\n dataBlock.set(dataView, hashSize + psLength + 1);\n const labelHash = import_crypto.default.createHash(internalKey.algorithm.hash.name.replace("-", "")).update(BufferSourceConverter.toUint8Array(algorithm.label || new Uint8Array(0))).digest();\n dataBlock.set(labelHash, 0);\n dataBlock[hashSize + psLength] = 1;\n import_crypto.default.randomFillSync(seed);\n const dataBlockMask = this.mgf1(internalKey.algorithm.hash, seed, dataBlock.length);\n for (let i = 0; i < dataBlock.length; i++) {\n dataBlock[i] ^= dataBlockMask[i];\n }\n const seedMask = this.mgf1(internalKey.algorithm.hash, dataBlock, seed.length);\n for (let i = 0; i < seed.length; i++) {\n seed[i] ^= seedMask[i];\n }\n if (!internalKey.pem) {\n internalKey.pem = `-----BEGIN PUBLIC KEY-----\n${internalKey.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const pkcs0 = import_crypto.default.publicEncrypt({\n key: internalKey.pem,\n padding: import_crypto.default.constants.RSA_NO_PADDING\n }, Buffer.from(message));\n return new Uint8Array(pkcs0).buffer;\n }\n async onDecrypt(algorithm, key, data) {\n const internalKey = getCryptoKey(key);\n const keySize = Math.ceil(internalKey.algorithm.modulusLength >> 3);\n const hashSize = ShaCrypto.size(internalKey.algorithm.hash) >> 3;\n const dataLength = data.byteLength;\n if (dataLength !== keySize) {\n throw new Error("Bad data");\n }\n if (!internalKey.pem) {\n internalKey.pem = `-----BEGIN PRIVATE KEY-----\n${internalKey.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n let pkcs0 = import_crypto.default.privateDecrypt({\n key: internalKey.pem,\n padding: import_crypto.default.constants.RSA_NO_PADDING\n }, Buffer.from(data));\n const z = pkcs0[0];\n const seed = pkcs0.subarray(1, hashSize + 1);\n const dataBlock = pkcs0.subarray(hashSize + 1);\n if (z !== 0) {\n throw new Error("Decryption failed");\n }\n const seedMask = this.mgf1(internalKey.algorithm.hash, dataBlock, seed.length);\n for (let i = 0; i < seed.length; i++) {\n seed[i] ^= seedMask[i];\n }\n const dataBlockMask = this.mgf1(internalKey.algorithm.hash, seed, dataBlock.length);\n for (let i = 0; i < dataBlock.length; i++) {\n dataBlock[i] ^= dataBlockMask[i];\n }\n const labelHash = import_crypto.default.createHash(internalKey.algorithm.hash.name.replace("-", "")).update(BufferSourceConverter.toUint8Array(algorithm.label || new Uint8Array(0))).digest();\n for (let i = 0; i < hashSize; i++) {\n if (labelHash[i] !== dataBlock[i]) {\n throw new Error("Decryption failed");\n }\n }\n let psEnd = hashSize;\n for (; psEnd < dataBlock.length; psEnd++) {\n const psz = dataBlock[psEnd];\n if (psz === 1) {\n break;\n }\n if (psz !== 0) {\n throw new Error("Decryption failed");\n }\n }\n if (psEnd === dataBlock.length) {\n throw new Error("Decryption failed");\n }\n pkcs0 = dataBlock.subarray(psEnd + 1);\n return new Uint8Array(pkcs0).buffer;\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n mgf1(algorithm, seed, length = 0) {\n const hashSize = ShaCrypto.size(algorithm) >> 3;\n const mask = new Uint8Array(length);\n const counter = new Uint8Array(4);\n const chunks = Math.ceil(length / hashSize);\n for (let i = 0; i < chunks; i++) {\n counter[0] = i >>> 24;\n counter[1] = i >>> 16 & 255;\n counter[2] = i >>> 8 & 255;\n counter[3] = i & 255;\n const submask = mask.subarray(i * hashSize);\n let chunk = import_crypto.default.createHash(algorithm.name.replace("-", "")).update(seed).update(counter).digest();\n if (chunk.length > submask.length) {\n chunk = chunk.subarray(0, submask.length);\n }\n submask.set(chunk);\n }\n return mask;\n }\n};\n__name(RsaOaepProvider2, "RsaOaepProvider");\nvar RsaEsProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "RSAES-PKCS1-v1_5";\n this.usages = {\n publicKey: ["encrypt", "wrapKey"],\n privateKey: ["decrypt", "unwrapKey"]\n };\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "publicExponent");\n if (!(algorithm.publicExponent && algorithm.publicExponent instanceof Uint8Array)) {\n throw new TypeError("publicExponent: Missing or not a Uint8Array");\n }\n const publicExponent = Convert.ToBase64(algorithm.publicExponent);\n if (!(publicExponent === "Aw==" || publicExponent === "AQAB")) {\n throw new TypeError("publicExponent: Must be [3] or [1,0,1]");\n }\n this.checkRequiredProperty(algorithm, "modulusLength");\n switch (algorithm.modulusLength) {\n case 1024:\n case 2048:\n case 4096:\n break;\n default:\n throw new TypeError("modulusLength: Must be 1024, 2048, or 4096");\n }\n }\n async onEncrypt(algorithm, key, data) {\n const options = this.toCryptoOptions(key);\n const enc = crypto.publicEncrypt(options, new Uint8Array(data));\n return new Uint8Array(enc).buffer;\n }\n async onDecrypt(algorithm, key, data) {\n const options = this.toCryptoOptions(key);\n const dec = crypto.privateDecrypt(options, new Uint8Array(data));\n return new Uint8Array(dec).buffer;\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n toCryptoOptions(key) {\n const type = key.type.toUpperCase();\n return {\n key: `-----BEGIN ${type} KEY-----\n${getCryptoKey(key).data.toString("base64")}\n-----END ${type} KEY-----`,\n padding: crypto.constants.RSA_PKCS1_PADDING\n };\n }\n};\n__name(RsaEsProvider, "RsaEsProvider");\nvar namedOIDs = {\n "1.2.840.10045.3.1.7": "P-256",\n "P-256": "1.2.840.10045.3.1.7",\n "1.3.132.0.34": "P-384",\n "P-384": "1.3.132.0.34",\n "1.3.132.0.35": "P-521",\n "P-521": "1.3.132.0.35",\n "1.3.132.0.10": "K-256",\n "K-256": "1.3.132.0.10",\n "brainpoolP160r1": "1.3.36.3.3.2.8.1.1.1",\n "1.3.36.3.3.2.8.1.1.1": "brainpoolP160r1",\n "brainpoolP160t1": "1.3.36.3.3.2.8.1.1.2",\n "1.3.36.3.3.2.8.1.1.2": "brainpoolP160t1",\n "brainpoolP192r1": "1.3.36.3.3.2.8.1.1.3",\n "1.3.36.3.3.2.8.1.1.3": "brainpoolP192r1",\n "brainpoolP192t1": "1.3.36.3.3.2.8.1.1.4",\n "1.3.36.3.3.2.8.1.1.4": "brainpoolP192t1",\n "brainpoolP224r1": "1.3.36.3.3.2.8.1.1.5",\n "1.3.36.3.3.2.8.1.1.5": "brainpoolP224r1",\n "brainpoolP224t1": "1.3.36.3.3.2.8.1.1.6",\n "1.3.36.3.3.2.8.1.1.6": "brainpoolP224t1",\n "brainpoolP256r1": "1.3.36.3.3.2.8.1.1.7",\n "1.3.36.3.3.2.8.1.1.7": "brainpoolP256r1",\n "brainpoolP256t1": "1.3.36.3.3.2.8.1.1.8",\n "1.3.36.3.3.2.8.1.1.8": "brainpoolP256t1",\n "brainpoolP320r1": "1.3.36.3.3.2.8.1.1.9",\n "1.3.36.3.3.2.8.1.1.9": "brainpoolP320r1",\n "brainpoolP320t1": "1.3.36.3.3.2.8.1.1.10",\n "1.3.36.3.3.2.8.1.1.10": "brainpoolP320t1",\n "brainpoolP384r1": "1.3.36.3.3.2.8.1.1.11",\n "1.3.36.3.3.2.8.1.1.11": "brainpoolP384r1",\n "brainpoolP384t1": "1.3.36.3.3.2.8.1.1.12",\n "1.3.36.3.3.2.8.1.1.12": "brainpoolP384t1",\n "brainpoolP512r1": "1.3.36.3.3.2.8.1.1.13",\n "1.3.36.3.3.2.8.1.1.13": "brainpoolP512r1",\n "brainpoolP512t1": "1.3.36.3.3.2.8.1.1.14",\n "1.3.36.3.3.2.8.1.1.14": "brainpoolP512t1"\n};\nfunction getOidByNamedCurve$1(namedCurve) {\n const oid = namedOIDs[namedCurve];\n if (!oid) {\n throw new OperationError(`Cannot convert WebCrypto named curve \'${namedCurve}\' to OID`);\n }\n return oid;\n}\n__name(getOidByNamedCurve$1, "getOidByNamedCurve$1");\nvar EcPrivateKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.EcPrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "EC",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.privateKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(json.crv)));\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.EcPrivateKey });\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EcPrivateKey2, "EcPrivateKey");\nvar EcPublicKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return new index$1.EcPublicKey(keyInfo.publicKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "EC",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.EcPublicKey });\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.publicKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(json.crv)));\n keyInfo.publicKey = AsnSerializer.toASN(key).valueHex;\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EcPublicKey3, "EcPublicKey");\nvar Sha1Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-1";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha1Provider, "Sha1Provider");\nvar Sha256Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-256";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha256Provider, "Sha256Provider");\nvar Sha384Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-384";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha384Provider, "Sha384Provider");\nvar Sha512Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-512";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha512Provider, "Sha512Provider");\nvar Sha3256Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-256";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3256Provider, "Sha3256Provider");\nvar Sha3384Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-384";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3384Provider, "Sha3384Provider");\nvar Sha3512Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-512";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3512Provider, "Sha3512Provider");\nvar EcCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EcPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EcPublicKey3();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const keys = import_crypto.default.generateKeyPairSync("ec", {\n namedCurve: this.getOpenSSLNamedCurve(algorithm.namedCurve),\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async sign(algorithm, key, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(algorithm.hash);\n const signer = import_crypto.default.createSign(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const signature = signer.sign(options);\n const ecSignature = AsnParser.parse(signature, index$1.EcDsaSignature);\n const signatureRaw = EcUtils.encodeSignature(ecSignature, EcCurves.get(key.algorithm.namedCurve).size);\n return signatureRaw.buffer;\n }\n static async verify(algorithm, key, signature, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(algorithm.hash);\n const signer = import_crypto.default.createVerify(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const ecSignature = new index$1.EcDsaSignature();\n const namedCurve = EcCurves.get(key.algorithm.namedCurve);\n const signaturePoint = EcUtils.decodeSignature(signature, namedCurve.size);\n ecSignature.r = BufferSourceConverter.toArrayBuffer(signaturePoint.r);\n ecSignature.s = BufferSourceConverter.toArrayBuffer(signaturePoint.s);\n const ecSignatureRaw = Buffer.from(AsnSerializer.serialize(ecSignature));\n const ok = signer.verify(options, ecSignatureRaw);\n return ok;\n }\n static async deriveBits(algorithm, baseKey, length) {\n const cryptoAlg = this.getOpenSSLNamedCurve(baseKey.algorithm.namedCurve);\n const ecdh = import_crypto.default.createECDH(cryptoAlg);\n const asnPrivateKey = AsnParser.parse(baseKey.data, index$1.PrivateKeyInfo);\n const asnEcPrivateKey = AsnParser.parse(asnPrivateKey.privateKey, index$1.EcPrivateKey);\n ecdh.setPrivateKey(Buffer.from(asnEcPrivateKey.privateKey));\n const asnPublicKey = AsnParser.parse(algorithm.public.data, index$1.PublicKeyInfo);\n const bits = ecdh.computeSecret(Buffer.from(asnPublicKey.publicKey));\n if (length === null) {\n return bits;\n }\n return new Uint8Array(bits).buffer.slice(0, length >> 3);\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n case "raw": {\n const publicKeyInfo = AsnParser.parse(key.data, index$1.PublicKeyInfo);\n return publicKeyInfo.publicKey;\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.EcPrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.EcPublicKey });\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n }\n case "raw": {\n const asnKey = new index$1.EcPublicKey(keyData);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n const asnKey = new index$1.EcPublicKey(keyInfo.publicKey);\n this.assertKeyParameters(keyInfo.publicKeyAlgorithm.parameters, algorithm.namedCurve);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.EcPrivateKey);\n this.assertKeyParameters(keyInfo.privateKeyAlgorithm.parameters, algorithm.namedCurve);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', \'pkcs8\' or \'spki\'");\n }\n }\n static assertKeyParameters(parameters, namedCurve) {\n if (!parameters) {\n throw new CryptoError("Key info doesn\'t have required parameters");\n }\n let namedCurveIdentifier = "";\n try {\n namedCurveIdentifier = AsnParser.parse(parameters, index$1.ObjectIdentifier).value;\n } catch (e) {\n throw new CryptoError("Cannot read key info parameters");\n }\n if (getOidByNamedCurve$1(namedCurve) !== namedCurveIdentifier) {\n throw new CryptoError("Key info parameter doesn\'t match to named curve");\n }\n }\n static async importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.privateKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(algorithm.namedCurve)));\n keyInfo.privateKey = AsnSerializer.serialize(asnKey);\n const key = new EcPrivateKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n const namedCurve = getOidByNamedCurve$1(algorithm.namedCurve);\n keyInfo.publicKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(namedCurve));\n keyInfo.publicKey = asnKey.value;\n const key = new EcPublicKey3();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static getOpenSSLNamedCurve(curve) {\n switch (curve.toUpperCase()) {\n case "P-256":\n return "prime256v1";\n case "K-256":\n return "secp256k1";\n case "P-384":\n return "secp384r1";\n case "P-521":\n return "secp521r1";\n default:\n return curve;\n }\n }\n};\n__name(EcCrypto, "EcCrypto");\nEcCrypto.publicKeyUsages = ["verify"];\nEcCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar EcdsaProvider2 = class extends EcdsaProvider {\n constructor() {\n super(...arguments);\n this.namedCurves = EcCurves.names;\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EcCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return EcCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return EcCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return EcCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EcCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof EcPrivateKey2 || internalKey instanceof EcPublicKey3)) {\n throw new TypeError("key: Is not EC CryptoKey");\n }\n }\n};\n__name(EcdsaProvider2, "EcdsaProvider");\nvar EcdhProvider2 = class extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.namedCurves = EcCurves.names;\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EcCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onExportKey(format, key) {\n return EcCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EcCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof EcPrivateKey2 || internalKey instanceof EcPublicKey3)) {\n throw new TypeError("key: Is not EC CryptoKey");\n }\n }\n async onDeriveBits(algorithm, baseKey, length) {\n const bits = await EcCrypto.deriveBits({ ...algorithm, public: getCryptoKey(algorithm.public) }, getCryptoKey(baseKey), length);\n return bits;\n }\n};\n__name(EcdhProvider2, "EcdhProvider");\nvar edOIDs = {\n [index$1.idEd448]: "Ed448",\n "ed448": index$1.idEd448,\n [index$1.idX448]: "X448",\n "x448": index$1.idX448,\n [index$1.idEd25519]: "Ed25519",\n "ed25519": index$1.idEd25519,\n [index$1.idX25519]: "X25519",\n "x25519": index$1.idX25519\n};\nfunction getOidByNamedCurve(namedCurve) {\n const oid = edOIDs[namedCurve.toLowerCase()];\n if (!oid) {\n throw new OperationError(`Cannot convert WebCrypto named curve \'${namedCurve}\' to OID`);\n }\n return oid;\n}\n__name(getOidByNamedCurve, "getOidByNamedCurve");\nvar EdPrivateKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.CurvePrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "OKP",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = getOidByNamedCurve(json.crv);\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.CurvePrivateKey });\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EdPrivateKey3, "EdPrivateKey");\nvar EdPublicKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return keyInfo.publicKey;\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "OKP",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, {\n x: Convert.ToBase64Url(key)\n });\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n if (!json.x) {\n throw new OperationError(`Cannot get property from JWK. Property \'x\' is required`);\n }\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = getOidByNamedCurve(json.crv);\n keyInfo.publicKey = Convert.FromBase64Url(json.x);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EdPublicKey3, "EdPublicKey");\nvar EdCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EdPrivateKey3();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EdPublicKey3();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const type = algorithm.namedCurve.toLowerCase();\n const keys = import_crypto.default.generateKeyPairSync(type, {\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async sign(algorithm, key, data) {\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const signature = import_crypto.default.sign(null, Buffer.from(data), options);\n return BufferSourceConverter.toArrayBuffer(signature);\n }\n static async verify(algorithm, key, signature, data) {\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const ok = import_crypto.default.verify(null, Buffer.from(data), options, Buffer.from(signature));\n return ok;\n }\n static async deriveBits(algorithm, baseKey, length) {\n const publicKey = import_crypto.default.createPublicKey({\n key: algorithm.public.data,\n format: "der",\n type: "spki"\n });\n const privateKey = import_crypto.default.createPrivateKey({\n key: baseKey.data,\n format: "der",\n type: "pkcs8"\n });\n const bits = import_crypto.default.diffieHellman({\n publicKey,\n privateKey\n });\n return new Uint8Array(bits).buffer.slice(0, length >> 3);\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n case "raw": {\n const publicKeyInfo = AsnParser.parse(key.data, index$1.PublicKeyInfo);\n return publicKeyInfo.publicKey;\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.CurvePrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n if (!jwk.x) {\n throw new TypeError("keyData: Cannot get required \'x\' filed");\n }\n return this.importPublicKey(Convert.FromBase64Url(jwk.x), algorithm, extractable, keyUsages);\n }\n }\n case "raw": {\n return this.importPublicKey(keyData, algorithm, extractable, keyUsages);\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n return this.importPublicKey(keyInfo.publicKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.CurvePrivateKey);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', \'pkcs8\' or \'spki\'");\n }\n }\n static importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const key = new EdPrivateKey3();\n key.fromJSON({\n crv: algorithm.namedCurve,\n d: Convert.ToBase64Url(asnKey.d)\n });\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const key = new EdPublicKey3();\n key.fromJSON({\n crv: algorithm.namedCurve,\n x: Convert.ToBase64Url(asnKey)\n });\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n};\n__name(EdCrypto, "EdCrypto");\nEdCrypto.publicKeyUsages = ["verify"];\nEdCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar EdDsaProvider2 = class extends EdDsaProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EdCrypto.generateKey({\n name: this.name,\n namedCurve: algorithm.namedCurve.replace(/^ed/i, "Ed")\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return EdCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return EdCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return EdCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EdCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n};\n__name(EdDsaProvider2, "EdDsaProvider");\nvar EcdhEsProvider2 = class extends EcdhEsProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EdCrypto.generateKey({\n name: this.name,\n namedCurve: algorithm.namedCurve.toUpperCase()\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onDeriveBits(algorithm, baseKey, length) {\n const bits = await EdCrypto.deriveBits({ ...algorithm, public: getCryptoKey(algorithm.public) }, getCryptoKey(baseKey), length);\n return bits;\n }\n async onExportKey(format, key) {\n return EdCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EdCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n};\n__name(EcdhEsProvider2, "EcdhEsProvider");\nvar PbkdfCryptoKey = class extends CryptoKey2 {\n};\n__name(PbkdfCryptoKey, "PbkdfCryptoKey");\nvar Pbkdf2Provider2 = class extends Pbkdf2Provider {\n async onDeriveBits(algorithm, baseKey, length) {\n return new Promise((resolve, reject) => {\n const salt = BufferSourceConverter.toArrayBuffer(algorithm.salt);\n const hash = algorithm.hash.name.replace("-", "");\n import_crypto.default.pbkdf2(getCryptoKey(baseKey).data, Buffer.from(salt), algorithm.iterations, length >> 3, hash, (err, derivedBits) => {\n if (err) {\n reject(err);\n } else {\n resolve(new Uint8Array(derivedBits).buffer);\n }\n });\n });\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n if (format === "raw") {\n const key = new PbkdfCryptoKey();\n key.data = Buffer.from(keyData);\n key.algorithm = { name: this.name };\n key.extractable = false;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n throw new OperationError("format: Must be \'raw\'");\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof PbkdfCryptoKey)) {\n throw new TypeError("key: Is not PBKDF CryptoKey");\n }\n }\n};\n__name(Pbkdf2Provider2, "Pbkdf2Provider");\nvar HmacCryptoKey = class extends CryptoKey2 {\n get alg() {\n const hash = this.algorithm.hash.name.toUpperCase();\n return `HS${hash.replace("SHA-", "")}`;\n }\n set alg(value) {\n }\n};\n__name(HmacCryptoKey, "HmacCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], HmacCryptoKey.prototype, "data", void 0);\nvar HmacProvider2 = class extends HmacProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const length = (algorithm.length || this.getDefaultLength(algorithm.hash.name)) >> 3 << 3;\n const key = new HmacCryptoKey();\n key.algorithm = {\n ...algorithm,\n length,\n name: this.name\n };\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(length >> 3);\n return setCryptoKey(key);\n }\n async onSign(algorithm, key, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(key.algorithm.hash);\n const hmac = import_crypto.default.createHmac(cryptoAlg, getCryptoKey(key).data).update(Buffer.from(data)).digest();\n return new Uint8Array(hmac).buffer;\n }\n async onVerify(algorithm, key, signature, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(key.algorithm.hash);\n const hmac = import_crypto.default.createHmac(cryptoAlg, getCryptoKey(key).data).update(Buffer.from(data)).digest();\n return hmac.compare(Buffer.from(signature)) === 0;\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: HmacCryptoKey });\n break;\n case "raw":\n key = new HmacCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = {\n hash: { name: algorithm.hash.name },\n name: this.name,\n length: key.data.length << 3\n };\n key.extractable = extractable;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n async onExportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(getCryptoKey(key));\n case "raw":\n return new Uint8Array(getCryptoKey(key).data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof HmacCryptoKey)) {\n throw new TypeError("key: Is not HMAC CryptoKey");\n }\n }\n};\n__name(HmacProvider2, "HmacProvider");\nvar HkdfCryptoKey = class extends CryptoKey2 {\n};\n__name(HkdfCryptoKey, "HkdfCryptoKey");\nvar HkdfProvider2 = class extends HkdfProvider {\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n if (format.toLowerCase() !== "raw") {\n throw new OperationError("Operation not supported");\n }\n const key = new HkdfCryptoKey();\n key.data = Buffer.from(keyData);\n key.algorithm = { name: this.name };\n key.extractable = extractable;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n async onDeriveBits(params, baseKey, length) {\n const hash = params.hash.name.replace("-", "");\n const hashLength = import_crypto.default.createHash(hash).digest().length;\n const byteLength = length / 8;\n const info = BufferSourceConverter.toUint8Array(params.info);\n const PRK = import_crypto.default.createHmac(hash, BufferSourceConverter.toUint8Array(params.salt)).update(BufferSourceConverter.toUint8Array(getCryptoKey(baseKey).data)).digest();\n const blocks = [Buffer.alloc(0)];\n const blockCount = Math.ceil(byteLength / hashLength) + 1;\n for (let i = 1; i < blockCount; ++i) {\n blocks.push(import_crypto.default.createHmac(hash, PRK).update(Buffer.concat([blocks[i - 1], info, Buffer.from([i])])).digest());\n }\n return Buffer.concat(blocks).slice(0, byteLength);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof HkdfCryptoKey)) {\n throw new TypeError("key: Is not HKDF CryptoKey");\n }\n }\n};\n__name(HkdfProvider2, "HkdfProvider");\nvar ShakeCrypto = class {\n static digest(algorithm, data) {\n const hash = import_crypto.default.createHash(algorithm.name.toLowerCase(), { outputLength: algorithm.length }).update(Buffer.from(data)).digest();\n return new Uint8Array(hash).buffer;\n }\n};\n__name(ShakeCrypto, "ShakeCrypto");\nvar Shake128Provider2 = class extends Shake128Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(Shake128Provider2, "Shake128Provider");\nvar Shake256Provider2 = class extends Shake256Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(Shake256Provider2, "Shake256Provider");\nvar SubtleCrypto2 = class extends SubtleCrypto {\n constructor() {\n var _a2;\n super();\n this.providers.set(new AesCbcProvider2());\n this.providers.set(new AesCtrProvider2());\n this.providers.set(new AesGcmProvider2());\n this.providers.set(new AesCmacProvider2());\n this.providers.set(new AesKwProvider2());\n this.providers.set(new AesEcbProvider2());\n const ciphers = crypto.getCiphers();\n if (ciphers.includes("des-cbc")) {\n this.providers.set(new DesCbcProvider());\n }\n this.providers.set(new DesEde3CbcProvider());\n this.providers.set(new RsaSsaProvider2());\n this.providers.set(new RsaPssProvider2());\n this.providers.set(new RsaOaepProvider2());\n this.providers.set(new RsaEsProvider());\n this.providers.set(new EcdsaProvider2());\n this.providers.set(new EcdhProvider2());\n this.providers.set(new Sha1Provider());\n this.providers.set(new Sha256Provider());\n this.providers.set(new Sha384Provider());\n this.providers.set(new Sha512Provider());\n this.providers.set(new Pbkdf2Provider2());\n this.providers.set(new HmacProvider2());\n this.providers.set(new HkdfProvider2());\n const nodeMajorVersion = (_a2 = /^v(\\d+)/.exec(process.version)) === null || _a2 === void 0 ? void 0 : _a2[1];\n if (nodeMajorVersion && parseInt(nodeMajorVersion, 10) >= 12) {\n this.providers.set(new Shake128Provider2());\n this.providers.set(new Shake256Provider2());\n }\n const hashes = crypto.getHashes();\n if (hashes.includes("sha3-256")) {\n this.providers.set(new Sha3256Provider());\n }\n if (hashes.includes("sha3-384")) {\n this.providers.set(new Sha3384Provider());\n }\n if (hashes.includes("sha3-512")) {\n this.providers.set(new Sha3512Provider());\n }\n if (nodeMajorVersion && parseInt(nodeMajorVersion, 10) >= 14) {\n this.providers.set(new EdDsaProvider2());\n this.providers.set(new EcdhEsProvider2());\n }\n }\n};\n__name(SubtleCrypto2, "SubtleCrypto");\nvar Crypto2 = class extends Crypto {\n constructor() {\n super(...arguments);\n this.subtle = new SubtleCrypto2();\n }\n getRandomValues(array) {\n if (!ArrayBuffer.isView(array)) {\n throw new TypeError("Failed to execute \'getRandomValues\' on \'Crypto\': parameter 1 is not of type \'ArrayBufferView\'");\n }\n const buffer = Buffer.from(array.buffer, array.byteOffset, array.byteLength);\n import_crypto.default.randomFillSync(buffer);\n return array;\n }\n};\n__name(Crypto2, "Crypto");\n\n// src/primitives/crypto.js\nfunction SubtleCrypto3() {\n if (!(this instanceof SubtleCrypto3))\n return new SubtleCrypto3();\n throw TypeError("Illegal constructor");\n}\n__name(SubtleCrypto3, "SubtleCrypto");\nvar crypto2 = new Crypto2();\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Crypto,\n CryptoKey,\n SubtleCrypto,\n crypto\n});\n'},694:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/encoding.js\nvar encoding_exports = {};\n__export(encoding_exports, {\n atob: () => atob,\n btoa: () => btoa\n});\nmodule.exports = __toCommonJS(encoding_exports);\nvar atob = /* @__PURE__ */ __name((enc) => Buffer.from(enc, "base64").toString("binary"), "atob");\nvar btoa = /* @__PURE__ */ __name((str) => Buffer.from(str, "binary").toString("base64"), "btoa");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n atob,\n btoa\n});\n'},986:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/events.js\nvar events_exports = {};\n__export(events_exports, {\n Event: () => Event,\n EventTarget: () => EventTarget,\n FetchEvent: () => FetchEvent,\n PromiseRejectionEvent: () => PromiseRejectionEvent\n});\nmodule.exports = __toCommonJS(events_exports);\n\n// \nvar define_process_default = { env: {}, versions: { node: "16.6.0" } };\n\n// ../../node_modules/.pnpm/event-target-shim@6.0.2/node_modules/event-target-shim/index.mjs\nfunction assertType(condition, message, ...args) {\n if (!condition) {\n throw new TypeError(format(message, args));\n }\n}\n__name(assertType, "assertType");\nfunction format(message, args) {\n let i = 0;\n return message.replace(/%[os]/gu, () => anyToString(args[i++]));\n}\n__name(format, "format");\nfunction anyToString(x) {\n if (typeof x !== "object" || x === null) {\n return String(x);\n }\n return Object.prototype.toString.call(x);\n}\n__name(anyToString, "anyToString");\nvar currentErrorHandler;\nfunction reportError(maybeError) {\n try {\n const error = maybeError instanceof Error ? maybeError : new Error(anyToString(maybeError));\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n }\n if (typeof dispatchEvent === "function" && typeof ErrorEvent === "function") {\n dispatchEvent(new ErrorEvent("error", { error, message: error.message }));\n } else if (typeof define_process_default !== "undefined" && typeof define_process_default.emit === "function") {\n define_process_default.emit("uncaughtException", error);\n return;\n }\n console.error(error);\n } catch (_a) {\n }\n}\n__name(reportError, "reportError");\nvar Global = typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : typeof globalThis !== "undefined" ? globalThis : void 0;\nvar currentWarnHandler;\nvar Warning = class {\n constructor(code, message) {\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n warn(...args) {\n var _a;\n try {\n if (currentWarnHandler) {\n currentWarnHandler({ ...this, args });\n return;\n }\n const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : "").replace(/^(?:.+?\\n){2}/gu, "\\n");\n console.warn(this.message, ...args, stack);\n } catch (_b) {\n }\n }\n};\n__name(Warning, "Warning");\nvar InitEventWasCalledWhileDispatching = new Warning("W01", "Unable to initialize event under dispatching.");\nvar FalsyWasAssignedToCancelBubble = new Warning("W02", "Assigning any falsy value to \'cancelBubble\' property has no effect.");\nvar TruthyWasAssignedToReturnValue = new Warning("W03", "Assigning any truthy value to \'returnValue\' property has no effect.");\nvar NonCancelableEventWasCanceled = new Warning("W04", "Unable to preventDefault on non-cancelable events.");\nvar CanceledInPassiveListener = new Warning("W05", "Unable to preventDefault inside passive event listener invocation.");\nvar EventListenerWasDuplicated = new Warning("W06", "An event listener wasn\'t added because it has been added already: %o, %o");\nvar OptionWasIgnored = new Warning("W07", "The %o option value was abandoned because the event listener wasn\'t added as duplicated.");\nvar InvalidEventListener = new Warning("W08", "The \'callback\' argument must be a function or an object that has \'handleEvent\' method: %o");\nvar InvalidAttributeHandler = new Warning("W09", "Event attribute handler must be a function: %o");\nvar Event = class {\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n static get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n static get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n static get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n static get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n constructor(type, eventInitDict) {\n Object.defineProperty(this, "isTrusted", {\n value: false,\n enumerable: true\n });\n const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now()\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n get type() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n get target() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n get srcElement() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n get currentTarget() {\n return $(this).currentTarget;\n }\n /**\n * The event target of the current dispatching.\n * This doesn\'t support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n composedPath() {\n const currentTarget = $(this).currentTarget;\n if (currentTarget) {\n return [currentTarget];\n }\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n get eventPhase() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n /**\n * Stop event bubbling.\n * Because this shim doesn\'t support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n get cancelBubble() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n set cancelBubble(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n } else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n stopImmediatePropagation() {\n const data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n get bubbles() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n get cancelable() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n get returnValue() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n set returnValue(value) {\n if (!value) {\n setCancelFlag($(this));\n } else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n get defaultPrevented() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n get composed() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n get isTrusted() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n get timeStamp() {\n return $(this).timeStamp;\n }\n /**\n * @deprecated Don\'t use this method. The constructor did initialization.\n */\n initEvent(type, bubbles = false, cancelable = false) {\n const data = $(this);\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n internalDataMap.set(this, {\n ...data,\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false\n });\n }\n};\n__name(Event, "Event");\nvar NONE = 0;\nvar CAPTURING_PHASE = 1;\nvar AT_TARGET = 2;\nvar BUBBLING_PHASE = 3;\nvar internalDataMap = /* @__PURE__ */ new WeakMap();\nfunction $(event, name = "this") {\n const retv = internalDataMap.get(event);\n assertType(retv != null, "\'%s\' must be an object that Event constructor created, but got another one: %o", name, event);\n return retv;\n}\n__name($, "$");\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n data.canceledFlag = true;\n}\n__name(setCancelFlag, "setCancelFlag");\nObject.defineProperty(Event, "NONE", { enumerable: true });\nObject.defineProperty(Event, "CAPTURING_PHASE", { enumerable: true });\nObject.defineProperty(Event, "AT_TARGET", { enumerable: true });\nObject.defineProperty(Event, "BUBBLING_PHASE", { enumerable: true });\nvar keys = Object.getOwnPropertyNames(Event.prototype);\nfor (let i = 0; i < keys.length; ++i) {\n if (keys[i] === "constructor") {\n continue;\n }\n Object.defineProperty(Event.prototype, keys[i], { enumerable: true });\n}\nif (typeof Global !== "undefined" && typeof Global.Event !== "undefined") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, "InvalidStateError");\n }\n if (DOMException == null) {\n DOMException = /* @__PURE__ */ __name(class DOMException2 extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DOMException2);\n }\n }\n // eslint-disable-next-line class-methods-use-this\n get code() {\n return 11;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return "InvalidStateError";\n }\n }, "DOMException");\n Object.defineProperties(DOMException.prototype, {\n code: { enumerable: true },\n name: { enumerable: true }\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n return new DOMException(message);\n}\n__name(createInvalidStateError, "createInvalidStateError");\nvar DOMException;\nvar ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25\n};\nfunction defineErrorCodeProperties(obj) {\n const keys2 = Object.keys(ErrorCodeMap);\n for (let i = 0; i < keys2.length; ++i) {\n const key = keys2[i];\n const value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get() {\n return value;\n },\n configurable: true,\n enumerable: true\n });\n }\n}\n__name(defineErrorCodeProperties, "defineErrorCodeProperties");\nvar EventWrapper = class extends Event {\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n static wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n constructor(event) {\n super(event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n if (event.cancelBubble) {\n super.stopPropagation();\n }\n if (event.defaultPrevented) {\n super.preventDefault();\n }\n internalDataMap$1.set(this, { original: event });\n const keys2 = Object.keys(event);\n for (let i = 0; i < keys2.length; ++i) {\n const key = keys2[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(event, key));\n }\n }\n }\n stopPropagation() {\n super.stopPropagation();\n const { original } = $$1(this);\n if ("stopPropagation" in original) {\n original.stopPropagation();\n }\n }\n get cancelBubble() {\n return super.cancelBubble;\n }\n set cancelBubble(value) {\n super.cancelBubble = value;\n const { original } = $$1(this);\n if ("cancelBubble" in original) {\n original.cancelBubble = value;\n }\n }\n stopImmediatePropagation() {\n super.stopImmediatePropagation();\n const { original } = $$1(this);\n if ("stopImmediatePropagation" in original) {\n original.stopImmediatePropagation();\n }\n }\n get returnValue() {\n return super.returnValue;\n }\n set returnValue(value) {\n super.returnValue = value;\n const { original } = $$1(this);\n if ("returnValue" in original) {\n original.returnValue = value;\n }\n }\n preventDefault() {\n super.preventDefault();\n const { original } = $$1(this);\n if ("preventDefault" in original) {\n original.preventDefault();\n }\n }\n get timeStamp() {\n const { original } = $$1(this);\n if ("timeStamp" in original) {\n return original.timeStamp;\n }\n return super.timeStamp;\n }\n};\n__name(EventWrapper, "EventWrapper");\nvar internalDataMap$1 = /* @__PURE__ */ new WeakMap();\nfunction $$1(event) {\n const retv = internalDataMap$1.get(event);\n assertType(retv != null, "\'this\' is expected an Event object, but got", event);\n return retv;\n}\n__name($$1, "$$1");\nvar wrapperClassCache = /* @__PURE__ */ new WeakMap();\nwrapperClassCache.set(Object.prototype, EventWrapper);\nif (typeof Global !== "undefined" && typeof Global.Event !== "undefined") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\nfunction getWrapperClassOf(originalEvent) {\n const prototype = Object.getPrototypeOf(originalEvent);\n if (prototype == null) {\n return EventWrapper;\n }\n let wrapper = wrapperClassCache.get(prototype);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n return wrapper;\n}\n__name(getWrapperClassOf, "getWrapperClassOf");\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n class CustomEventWrapper extends BaseEventWrapper {\n }\n __name(CustomEventWrapper, "CustomEventWrapper");\n const keys2 = Object.keys(originalPrototype);\n for (let i = 0; i < keys2.length; ++i) {\n Object.defineProperty(CustomEventWrapper.prototype, keys2[i], defineRedirectDescriptor(originalPrototype, keys2[i]));\n }\n return CustomEventWrapper;\n}\n__name(defineWrapper, "defineWrapper");\nfunction defineRedirectDescriptor(obj, key) {\n const d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get() {\n const original = $$1(this).original;\n const value = original[key];\n if (typeof value === "function") {\n return value.bind(original);\n }\n return value;\n },\n set(value) {\n const original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable\n };\n}\n__name(defineRedirectDescriptor, "defineRedirectDescriptor");\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback,\n flags: (capture ? 1 : 0) | (passive ? 2 : 0) | (once ? 4 : 0),\n signal,\n signalListener\n };\n}\n__name(createListener, "createListener");\nfunction setRemoved(listener) {\n listener.flags |= 8;\n}\n__name(setRemoved, "setRemoved");\nfunction isCapture(listener) {\n return (listener.flags & 1) === 1;\n}\n__name(isCapture, "isCapture");\nfunction isPassive(listener) {\n return (listener.flags & 2) === 2;\n}\n__name(isPassive, "isPassive");\nfunction isOnce(listener) {\n return (listener.flags & 4) === 4;\n}\n__name(isOnce, "isOnce");\nfunction isRemoved(listener) {\n return (listener.flags & 8) === 8;\n}\n__name(isRemoved, "isRemoved");\nfunction invokeCallback({ callback }, target, event) {\n try {\n if (typeof callback === "function") {\n callback.call(target, event);\n } else if (typeof callback.handleEvent === "function") {\n callback.handleEvent(event);\n }\n } catch (thrownError) {\n reportError(thrownError);\n }\n}\n__name(invokeCallback, "invokeCallback");\nfunction findIndexOfListener({ listeners }, callback, capture) {\n for (let i = 0; i < listeners.length; ++i) {\n if (listeners[i].callback === callback && isCapture(listeners[i]) === capture) {\n return i;\n }\n }\n return -1;\n}\n__name(findIndexOfListener, "findIndexOfListener");\nfunction addListener(list, callback, capture, passive, once, signal) {\n let signalListener;\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener("abort", signalListener);\n }\n const listener = createListener(callback, capture, passive, once, signal, signalListener);\n if (list.cow) {\n list.cow = false;\n list.listeners = [...list.listeners, listener];\n } else {\n list.listeners.push(listener);\n }\n return listener;\n}\n__name(addListener, "addListener");\nfunction removeListener(list, callback, capture) {\n const index = findIndexOfListener(list, callback, capture);\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n return false;\n}\n__name(removeListener, "removeListener");\nfunction removeListenerAt(list, index, disableCow = false) {\n const listener = list.listeners[index];\n setRemoved(listener);\n if (listener.signal) {\n listener.signal.removeEventListener("abort", listener.signalListener);\n }\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter((_, i) => i !== index);\n return false;\n }\n list.listeners.splice(index, 1);\n return true;\n}\n__name(removeListenerAt, "removeListenerAt");\nfunction createListenerListMap() {\n return /* @__PURE__ */ Object.create(null);\n}\n__name(createListenerListMap, "createListenerListMap");\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n return (_a = listenerMap[type]) !== null && _a !== void 0 ? _a : listenerMap[type] = {\n attrCallback: void 0,\n attrListener: void 0,\n cow: false,\n listeners: []\n };\n}\n__name(ensureListenerList, "ensureListenerList");\nvar EventTarget = class {\n /**\n * Initialize this instance.\n */\n constructor() {\n internalDataMap$2.set(this, createListenerListMap());\n }\n // Implementation\n addEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, once, passive, signal, type } = normalizeAddOptions(type0, callback0, options0);\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n const list = ensureListenerList(listenerMap, type);\n const i = findIndexOfListener(list, callback, capture);\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n }\n addListener(list, callback, capture, passive, once, signal);\n }\n // Implementation\n removeEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, type } = normalizeOptions(type0, callback0, options0);\n const list = listenerMap[type];\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n }\n // Implementation\n dispatchEvent(e) {\n const list = $$2(this)[String(e.type)];\n if (list == null) {\n return true;\n }\n const event = e instanceof Event ? e : EventWrapper.wrap(e);\n const eventData = $(event, "event");\n if (eventData.dispatchFlag) {\n throw createInvalidStateError("This event has been in dispatching.");\n }\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n if (!eventData.stopPropagationFlag) {\n const { cow, listeners } = list;\n list.cow = true;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n if (isRemoved(listener)) {\n continue;\n }\n if (isOnce(listener) && removeListenerAt(list, i, !cow)) {\n i -= 1;\n }\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false;\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n }\n if (!cow) {\n list.cow = false;\n }\n }\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n};\n__name(EventTarget, "EventTarget");\nvar internalDataMap$2 = /* @__PURE__ */ new WeakMap();\nfunction $$2(target, name = "this") {\n const retv = internalDataMap$2.get(target);\n assertType(retv != null, "\'%s\' must be an object that EventTarget constructor created, but got another one: %o", name, target);\n return retv;\n}\n__name($$2, "$$2");\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n assertCallback(callback);\n if (typeof options === "object" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : void 0\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: void 0\n };\n}\n__name(normalizeAddOptions, "normalizeAddOptions");\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n if (typeof options === "object" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options.capture)\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options)\n };\n}\n__name(normalizeOptions, "normalizeOptions");\nfunction assertCallback(callback) {\n if (typeof callback === "function" || typeof callback === "object" && callback !== null && typeof callback.handleEvent === "function") {\n return;\n }\n if (callback == null || typeof callback === "object") {\n InvalidEventListener.warn(callback);\n return;\n }\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n__name(assertCallback, "assertCallback");\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? "capture" : "bubble", listener.callback);\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn("passive");\n }\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn("once");\n }\n if (listener.signal !== signal) {\n OptionWasIgnored.warn("signal");\n }\n}\n__name(warnDuplicate, "warnDuplicate");\nvar keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\nfor (let i = 0; i < keys$1.length; ++i) {\n if (keys$1[i] === "constructor") {\n continue;\n }\n Object.defineProperty(EventTarget.prototype, keys$1[i], { enumerable: true });\n}\nif (typeof Global !== "undefined" && typeof Global.EventTarget !== "undefined") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n\n// src/primitives/events.js\nvar FetchEvent = class extends Event {\n constructor(request) {\n super("fetch");\n this.request = request;\n this.response = null;\n this.awaiting = /* @__PURE__ */ new Set();\n }\n respondWith(response) {\n this.response = response;\n }\n waitUntil(promise) {\n this.awaiting.add(promise);\n promise.finally(() => this.awaiting.delete(promise));\n }\n};\n__name(FetchEvent, "FetchEvent");\nvar PromiseRejectionEvent = class extends Event {\n constructor(type, init) {\n super(type, { cancelable: true });\n this.promise = init.promise;\n this.reason = init.reason;\n }\n};\n__name(PromiseRejectionEvent, "PromiseRejectionEvent");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Event,\n EventTarget,\n FetchEvent,\n PromiseRejectionEvent\n});\n'},453:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar define_process_default;\nvar init_define_process = __esm({\n ""() {\n define_process_default = { env: {}, versions: { node: "16.6.0" } };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/symbols.js\nvar require_symbols = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/symbols.js"(exports, module2) {\n "use strict";\n init_define_process();\n module2.exports = {\n kUrl: Symbol("url"),\n kHeaders: Symbol("headers"),\n kSignal: Symbol("signal"),\n kState: Symbol("state"),\n kGuard: Symbol("guard"),\n kRealm: Symbol("realm")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/symbols.js\nvar require_symbols2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/symbols.js"(exports, module2) {\n init_define_process();\n module2.exports = {\n kClose: Symbol("close"),\n kDestroy: Symbol("destroy"),\n kDispatch: Symbol("dispatch"),\n kUrl: Symbol("url"),\n kWriting: Symbol("writing"),\n kResuming: Symbol("resuming"),\n kQueue: Symbol("queue"),\n kConnect: Symbol("connect"),\n kConnecting: Symbol("connecting"),\n kHeadersList: Symbol("headers list"),\n kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),\n kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),\n kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),\n kKeepAliveTimeoutValue: Symbol("keep alive timeout"),\n kKeepAlive: Symbol("keep alive"),\n kHeadersTimeout: Symbol("headers timeout"),\n kBodyTimeout: Symbol("body timeout"),\n kServerName: Symbol("server name"),\n kLocalAddress: Symbol("local address"),\n kHost: Symbol("host"),\n kNoRef: Symbol("no ref"),\n kBodyUsed: Symbol("used"),\n kRunning: Symbol("running"),\n kBlocking: Symbol("blocking"),\n kPending: Symbol("pending"),\n kSize: Symbol("size"),\n kBusy: Symbol("busy"),\n kQueued: Symbol("queued"),\n kFree: Symbol("free"),\n kConnected: Symbol("connected"),\n kClosed: Symbol("closed"),\n kNeedDrain: Symbol("need drain"),\n kReset: Symbol("reset"),\n kDestroyed: Symbol.for("nodejs.stream.destroyed"),\n kMaxHeadersSize: Symbol("max headers size"),\n kRunningIdx: Symbol("running index"),\n kPendingIdx: Symbol("pending index"),\n kError: Symbol("error"),\n kClients: Symbol("clients"),\n kClient: Symbol("client"),\n kParser: Symbol("parser"),\n kOnDestroyed: Symbol("destroy callbacks"),\n kPipelining: Symbol("pipelining"),\n kSocket: Symbol("socket"),\n kHostHeader: Symbol("host header"),\n kConnector: Symbol("connector"),\n kStrictContentLength: Symbol("strict content length"),\n kMaxRedirections: Symbol("maxRedirections"),\n kMaxRequests: Symbol("maxRequestsPerClient"),\n kProxy: Symbol("proxy agent options"),\n kCounter: Symbol("socket request counter"),\n kInterceptors: Symbol("dispatch interceptors"),\n kMaxResponseSize: Symbol("max response size")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/errors.js\nvar require_errors = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/errors.js"(exports, module2) {\n "use strict";\n init_define_process();\n var UndiciError = class extends Error {\n constructor(message) {\n super(message);\n this.name = "UndiciError";\n this.code = "UND_ERR";\n }\n };\n __name(UndiciError, "UndiciError");\n var ConnectTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ConnectTimeoutError);\n this.name = "ConnectTimeoutError";\n this.message = message || "Connect Timeout Error";\n this.code = "UND_ERR_CONNECT_TIMEOUT";\n }\n };\n __name(ConnectTimeoutError, "ConnectTimeoutError");\n var HeadersTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, HeadersTimeoutError);\n this.name = "HeadersTimeoutError";\n this.message = message || "Headers Timeout Error";\n this.code = "UND_ERR_HEADERS_TIMEOUT";\n }\n };\n __name(HeadersTimeoutError, "HeadersTimeoutError");\n var HeadersOverflowError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, HeadersOverflowError);\n this.name = "HeadersOverflowError";\n this.message = message || "Headers Overflow Error";\n this.code = "UND_ERR_HEADERS_OVERFLOW";\n }\n };\n __name(HeadersOverflowError, "HeadersOverflowError");\n var BodyTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, BodyTimeoutError);\n this.name = "BodyTimeoutError";\n this.message = message || "Body Timeout Error";\n this.code = "UND_ERR_BODY_TIMEOUT";\n }\n };\n __name(BodyTimeoutError, "BodyTimeoutError");\n var ResponseStatusCodeError = class extends UndiciError {\n constructor(message, statusCode, headers, body) {\n super(message);\n Error.captureStackTrace(this, ResponseStatusCodeError);\n this.name = "ResponseStatusCodeError";\n this.message = message || "Response Status Code Error";\n this.code = "UND_ERR_RESPONSE_STATUS_CODE";\n this.body = body;\n this.status = statusCode;\n this.statusCode = statusCode;\n this.headers = headers;\n }\n };\n __name(ResponseStatusCodeError, "ResponseStatusCodeError");\n var InvalidArgumentError2 = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InvalidArgumentError2);\n this.name = "InvalidArgumentError";\n this.message = message || "Invalid Argument Error";\n this.code = "UND_ERR_INVALID_ARG";\n }\n };\n __name(InvalidArgumentError2, "InvalidArgumentError");\n var InvalidReturnValueError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InvalidReturnValueError);\n this.name = "InvalidReturnValueError";\n this.message = message || "Invalid Return Value Error";\n this.code = "UND_ERR_INVALID_RETURN_VALUE";\n }\n };\n __name(InvalidReturnValueError, "InvalidReturnValueError");\n var RequestAbortedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, RequestAbortedError);\n this.name = "AbortError";\n this.message = message || "Request aborted";\n this.code = "UND_ERR_ABORTED";\n }\n };\n __name(RequestAbortedError, "RequestAbortedError");\n var InformationalError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InformationalError);\n this.name = "InformationalError";\n this.message = message || "Request information";\n this.code = "UND_ERR_INFO";\n }\n };\n __name(InformationalError, "InformationalError");\n var RequestContentLengthMismatchError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, RequestContentLengthMismatchError);\n this.name = "RequestContentLengthMismatchError";\n this.message = message || "Request body length does not match content-length header";\n this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";\n }\n };\n __name(RequestContentLengthMismatchError, "RequestContentLengthMismatchError");\n var ResponseContentLengthMismatchError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ResponseContentLengthMismatchError);\n this.name = "ResponseContentLengthMismatchError";\n this.message = message || "Response body length does not match content-length header";\n this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";\n }\n };\n __name(ResponseContentLengthMismatchError, "ResponseContentLengthMismatchError");\n var ClientDestroyedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ClientDestroyedError);\n this.name = "ClientDestroyedError";\n this.message = message || "The client is destroyed";\n this.code = "UND_ERR_DESTROYED";\n }\n };\n __name(ClientDestroyedError, "ClientDestroyedError");\n var ClientClosedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ClientClosedError);\n this.name = "ClientClosedError";\n this.message = message || "The client is closed";\n this.code = "UND_ERR_CLOSED";\n }\n };\n __name(ClientClosedError, "ClientClosedError");\n var SocketError = class extends UndiciError {\n constructor(message, socket) {\n super(message);\n Error.captureStackTrace(this, SocketError);\n this.name = "SocketError";\n this.message = message || "Socket error";\n this.code = "UND_ERR_SOCKET";\n this.socket = socket;\n }\n };\n __name(SocketError, "SocketError");\n var NotSupportedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, NotSupportedError);\n this.name = "NotSupportedError";\n this.message = message || "Not supported error";\n this.code = "UND_ERR_NOT_SUPPORTED";\n }\n };\n __name(NotSupportedError, "NotSupportedError");\n var BalancedPoolMissingUpstreamError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, NotSupportedError);\n this.name = "MissingUpstreamError";\n this.message = message || "No upstream has been added to the BalancedPool";\n this.code = "UND_ERR_BPL_MISSING_UPSTREAM";\n }\n };\n __name(BalancedPoolMissingUpstreamError, "BalancedPoolMissingUpstreamError");\n var HTTPParserError = class extends Error {\n constructor(message, code, data) {\n super(message);\n Error.captureStackTrace(this, HTTPParserError);\n this.name = "HTTPParserError";\n this.code = code ? `HPE_${code}` : void 0;\n this.data = data ? data.toString() : void 0;\n }\n };\n __name(HTTPParserError, "HTTPParserError");\n var ResponseExceededMaxSizeError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ResponseExceededMaxSizeError);\n this.name = "ResponseExceededMaxSizeError";\n this.message = message || "Response content exceeded max size";\n this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";\n }\n };\n __name(ResponseExceededMaxSizeError, "ResponseExceededMaxSizeError");\n module2.exports = {\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError: InvalidArgumentError2,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/util.js\nvar require_util = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var assert = require("assert");\n var { kDestroyed, kBodyUsed } = require_symbols2();\n var { IncomingMessage } = require("http");\n var stream = require("stream");\n var net = require("net");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var { Blob: Blob2 } = require("buffer");\n var nodeUtil = require("util");\n var { stringify } = require("querystring");\n var [nodeMajor, nodeMinor] = define_process_default.versions.node.split(".").map((v) => Number(v));\n function nop() {\n }\n __name(nop, "nop");\n function isStream(obj) {\n return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";\n }\n __name(isStream, "isStream");\n function isBlobLike(object) {\n return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);\n }\n __name(isBlobLike, "isBlobLike");\n function buildURL(url, queryParams) {\n if (url.includes("?") || url.includes("#")) {\n throw new Error(\'Query params cannot be passed when url already contains "?" or "#".\');\n }\n const stringified = stringify(queryParams);\n if (stringified) {\n url += "?" + stringified;\n }\n return url;\n }\n __name(buildURL, "buildURL");\n function parseURL(url) {\n if (typeof url === "string") {\n url = new URL(url);\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");\n }\n return url;\n }\n if (!url || typeof url !== "object") {\n throw new InvalidArgumentError2("Invalid URL: The URL argument must be a non-null object.");\n }\n if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {\n throw new InvalidArgumentError2("Invalid URL: port must be a valid integer or a string representation of an integer.");\n }\n if (url.path != null && typeof url.path !== "string") {\n throw new InvalidArgumentError2("Invalid URL path: the path must be a string or null/undefined.");\n }\n if (url.pathname != null && typeof url.pathname !== "string") {\n throw new InvalidArgumentError2("Invalid URL pathname: the pathname must be a string or null/undefined.");\n }\n if (url.hostname != null && typeof url.hostname !== "string") {\n throw new InvalidArgumentError2("Invalid URL hostname: the hostname must be a string or null/undefined.");\n }\n if (url.origin != null && typeof url.origin !== "string") {\n throw new InvalidArgumentError2("Invalid URL origin: the origin must be a string or null/undefined.");\n }\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");\n }\n if (!(url instanceof URL)) {\n const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;\n let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;\n let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;\n if (origin.endsWith("/")) {\n origin = origin.substring(0, origin.length - 1);\n }\n if (path && !path.startsWith("/")) {\n path = `/${path}`;\n }\n url = new URL(origin + path);\n }\n return url;\n }\n __name(parseURL, "parseURL");\n function parseOrigin(url) {\n url = parseURL(url);\n if (url.pathname !== "/" || url.search || url.hash) {\n throw new InvalidArgumentError2("invalid url");\n }\n return url;\n }\n __name(parseOrigin, "parseOrigin");\n function getHostname(host) {\n if (host[0] === "[") {\n const idx2 = host.indexOf("]");\n assert(idx2 !== -1);\n return host.substr(1, idx2 - 1);\n }\n const idx = host.indexOf(":");\n if (idx === -1)\n return host;\n return host.substr(0, idx);\n }\n __name(getHostname, "getHostname");\n function getServerName(host) {\n if (!host) {\n return null;\n }\n assert.strictEqual(typeof host, "string");\n const servername = getHostname(host);\n if (net.isIP(servername)) {\n return "";\n }\n return servername;\n }\n __name(getServerName, "getServerName");\n function deepClone(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n __name(deepClone, "deepClone");\n function isAsyncIterable(obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");\n }\n __name(isAsyncIterable, "isAsyncIterable");\n function isIterable(obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));\n }\n __name(isIterable, "isIterable");\n function bodyLength(body) {\n if (body == null) {\n return 0;\n } else if (isStream(body)) {\n const state = body._readableState;\n return state && state.ended === true && Number.isFinite(state.length) ? state.length : null;\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null;\n } else if (isBuffer(body)) {\n return body.byteLength;\n }\n return null;\n }\n __name(bodyLength, "bodyLength");\n function isDestroyed(stream2) {\n return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);\n }\n __name(isDestroyed, "isDestroyed");\n function isReadableAborted(stream2) {\n const state = stream2 && stream2._readableState;\n return isDestroyed(stream2) && state && !state.endEmitted;\n }\n __name(isReadableAborted, "isReadableAborted");\n function destroy(stream2, err) {\n if (!isStream(stream2) || isDestroyed(stream2)) {\n return;\n }\n if (typeof stream2.destroy === "function") {\n if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {\n stream2.socket = null;\n }\n stream2.destroy(err);\n } else if (err) {\n define_process_default.nextTick((stream3, err2) => {\n stream3.emit("error", err2);\n }, stream2, err);\n }\n if (stream2.destroyed !== true) {\n stream2[kDestroyed] = true;\n }\n }\n __name(destroy, "destroy");\n var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/;\n function parseKeepAliveTimeout(val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);\n return m ? parseInt(m[1], 10) * 1e3 : null;\n }\n __name(parseKeepAliveTimeout, "parseKeepAliveTimeout");\n function parseHeaders(headers, obj = {}) {\n for (let i = 0; i < headers.length; i += 2) {\n const key = headers[i].toString().toLowerCase();\n let val = obj[key];\n if (!val) {\n if (Array.isArray(headers[i + 1])) {\n obj[key] = headers[i + 1];\n } else {\n obj[key] = headers[i + 1].toString("utf8");\n }\n } else {\n if (!Array.isArray(val)) {\n val = [val];\n obj[key] = val;\n }\n val.push(headers[i + 1].toString("utf8"));\n }\n }\n if ("content-length" in obj && "content-disposition" in obj) {\n obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");\n }\n return obj;\n }\n __name(parseHeaders, "parseHeaders");\n function parseRawHeaders(headers) {\n const ret = [];\n let hasContentLength = false;\n let contentDispositionIdx = -1;\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0].toString();\n const val = headers[n + 1].toString("utf8");\n if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {\n ret.push(key, val);\n hasContentLength = true;\n } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {\n contentDispositionIdx = ret.push(key, val) - 1;\n } else {\n ret.push(key, val);\n }\n }\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");\n }\n return ret;\n }\n __name(parseRawHeaders, "parseRawHeaders");\n function isBuffer(buffer) {\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);\n }\n __name(isBuffer, "isBuffer");\n function validateHandler(handler, method, upgrade) {\n if (!handler || typeof handler !== "object") {\n throw new InvalidArgumentError2("handler must be an object");\n }\n if (typeof handler.onConnect !== "function") {\n throw new InvalidArgumentError2("invalid onConnect method");\n }\n if (typeof handler.onError !== "function") {\n throw new InvalidArgumentError2("invalid onError method");\n }\n if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) {\n throw new InvalidArgumentError2("invalid onBodySent method");\n }\n if (upgrade || method === "CONNECT") {\n if (typeof handler.onUpgrade !== "function") {\n throw new InvalidArgumentError2("invalid onUpgrade method");\n }\n } else {\n if (typeof handler.onHeaders !== "function") {\n throw new InvalidArgumentError2("invalid onHeaders method");\n }\n if (typeof handler.onData !== "function") {\n throw new InvalidArgumentError2("invalid onData method");\n }\n if (typeof handler.onComplete !== "function") {\n throw new InvalidArgumentError2("invalid onComplete method");\n }\n }\n }\n __name(validateHandler, "validateHandler");\n function isDisturbed(body) {\n return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));\n }\n __name(isDisturbed, "isDisturbed");\n function isErrored(body) {\n return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: \'errored\'/.test(\n nodeUtil.inspect(body)\n )));\n }\n __name(isErrored, "isErrored");\n function isReadable(body) {\n return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: \'readable\'/.test(\n nodeUtil.inspect(body)\n )));\n }\n __name(isReadable, "isReadable");\n function getSocketInfo(socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n };\n }\n __name(getSocketInfo, "getSocketInfo");\n var ReadableStream;\n function ReadableStreamFrom(iterable) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n if (ReadableStream.from) {\n return ReadableStream.from(iterable);\n }\n let iterator;\n return new ReadableStream(\n {\n async start() {\n iterator = iterable[Symbol.asyncIterator]();\n },\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n queueMicrotask(() => {\n controller.close();\n });\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);\n controller.enqueue(new Uint8Array(buf));\n }\n return controller.desiredSize > 0;\n },\n async cancel(reason) {\n await iterator.return();\n }\n },\n 0\n );\n }\n __name(ReadableStreamFrom, "ReadableStreamFrom");\n function isFormDataLike(object) {\n return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";\n }\n __name(isFormDataLike, "isFormDataLike");\n function throwIfAborted(signal) {\n if (!signal) {\n return;\n }\n if (typeof signal.throwIfAborted === "function") {\n signal.throwIfAborted();\n } else {\n if (signal.aborted) {\n const err = new Error("The operation was aborted");\n err.name = "AbortError";\n throw err;\n }\n }\n }\n __name(throwIfAborted, "throwIfAborted");\n var hasToWellFormed = !!String.prototype.toWellFormed;\n function toUSVString(val) {\n if (hasToWellFormed) {\n return `${val}`.toWellFormed();\n } else if (nodeUtil.toUSVString) {\n return nodeUtil.toUSVString(val);\n }\n return `${val}`;\n }\n __name(toUSVString, "toUSVString");\n var kEnumerableProperty = /* @__PURE__ */ Object.create(null);\n kEnumerableProperty.enumerable = true;\n module2.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isReadableAborted,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n throwIfAborted,\n nodeMajor,\n nodeMinor,\n nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/constants.js\nvar require_constants = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/constants.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { MessageChannel, receiveMessageOnPort } = require("worker_threads");\n var corsSafeListedMethods = ["GET", "HEAD", "POST"];\n var nullBodyStatus = [101, 204, 205, 304];\n var redirectStatus = [301, 302, 303, 307, 308];\n var badPorts = [\n "1",\n "7",\n "9",\n "11",\n "13",\n "15",\n "17",\n "19",\n "20",\n "21",\n "22",\n "23",\n "25",\n "37",\n "42",\n "43",\n "53",\n "69",\n "77",\n "79",\n "87",\n "95",\n "101",\n "102",\n "103",\n "104",\n "109",\n "110",\n "111",\n "113",\n "115",\n "117",\n "119",\n "123",\n "135",\n "137",\n "139",\n "143",\n "161",\n "179",\n "389",\n "427",\n "465",\n "512",\n "513",\n "514",\n "515",\n "526",\n "530",\n "531",\n "532",\n "540",\n "548",\n "554",\n "556",\n "563",\n "587",\n "601",\n "636",\n "989",\n "990",\n "993",\n "995",\n "1719",\n "1720",\n "1723",\n "2049",\n "3659",\n "4045",\n "5060",\n "5061",\n "6000",\n "6566",\n "6665",\n "6666",\n "6667",\n "6668",\n "6669",\n "6697",\n "10080"\n ];\n var referrerPolicy = [\n "",\n "no-referrer",\n "no-referrer-when-downgrade",\n "same-origin",\n "origin",\n "strict-origin",\n "origin-when-cross-origin",\n "strict-origin-when-cross-origin",\n "unsafe-url"\n ];\n var requestRedirect = ["follow", "manual", "error"];\n var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];\n var requestMode = ["navigate", "same-origin", "no-cors", "cors"];\n var requestCredentials = ["omit", "same-origin", "include"];\n var requestCache = [\n "default",\n "no-store",\n "reload",\n "no-cache",\n "force-cache",\n "only-if-cached"\n ];\n var requestBodyHeader = [\n "content-encoding",\n "content-language",\n "content-location",\n "content-type",\n // See https://github.com/nodejs/undici/issues/2021\n // \'Content-Length\' is a forbidden header name, which is typically\n // removed in the Headers implementation. However, undici doesn\'t\n // filter out headers, so we add it here.\n "content-length"\n ];\n var requestDuplex = [\n "half"\n ];\n var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];\n var subresource = [\n "audio",\n "audioworklet",\n "font",\n "image",\n "manifest",\n "paintworklet",\n "script",\n "style",\n "track",\n "video",\n "xslt",\n ""\n ];\n var DOMException = globalThis.DOMException ?? (() => {\n try {\n atob("~");\n } catch (err) {\n return Object.getPrototypeOf(err).constructor;\n }\n })();\n var channel;\n var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js\n // structuredClone was added in v17.0.0, but fetch supports v16.8\n /* @__PURE__ */ __name(function structuredClone2(value, options = void 0) {\n if (arguments.length === 0) {\n throw new TypeError("missing argument");\n }\n if (!channel) {\n channel = new MessageChannel();\n }\n channel.port1.unref();\n channel.port2.unref();\n channel.port1.postMessage(value, options == null ? void 0 : options.transfer);\n return receiveMessageOnPort(channel.port2).message;\n }, "structuredClone");\n module2.exports = {\n DOMException,\n structuredClone,\n subresource,\n forbiddenMethods,\n requestBodyHeader,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n redirectStatus,\n corsSafeListedMethods,\n nullBodyStatus,\n safeMethods,\n badPorts,\n requestDuplex\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/global.js\nvar require_global = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/global.js"(exports, module2) {\n "use strict";\n init_define_process();\n var globalOrigin = Symbol.for("undici.globalOrigin.1");\n function getGlobalOrigin() {\n return globalThis[globalOrigin];\n }\n __name(getGlobalOrigin, "getGlobalOrigin");\n function setGlobalOrigin(newOrigin) {\n if (newOrigin !== void 0 && typeof newOrigin !== "string" && !(newOrigin instanceof URL)) {\n throw new Error("Invalid base url");\n }\n if (newOrigin === void 0) {\n Object.defineProperty(globalThis, globalOrigin, {\n value: void 0,\n writable: true,\n enumerable: false,\n configurable: false\n });\n return;\n }\n const parsedURL = new URL(newOrigin);\n if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {\n throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);\n }\n Object.defineProperty(globalThis, globalOrigin, {\n value: parsedURL,\n writable: true,\n enumerable: false,\n configurable: false\n });\n }\n __name(setGlobalOrigin, "setGlobalOrigin");\n module2.exports = {\n getGlobalOrigin,\n setGlobalOrigin\n };\n }\n});\n\n// src/patches/util-types.js\nvar require_util_types = __commonJS({\n "src/patches/util-types.js"(exports, module2) {\n init_define_process();\n module2.exports = require("util").types;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/util.js\nvar require_util2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require_constants();\n var { getGlobalOrigin } = require_global();\n var { performance: performance2 } = require("perf_hooks");\n var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util();\n var assert = require("assert");\n var { isUint8Array } = require_util_types();\n var crypto;\n try {\n crypto = require("crypto");\n } catch {\n }\n function responseURL(response) {\n const urlList = response.urlList;\n const length = urlList.length;\n return length === 0 ? null : urlList[length - 1].toString();\n }\n __name(responseURL, "responseURL");\n function responseLocationURL(response, requestFragment) {\n if (!redirectStatus.includes(response.status)) {\n return null;\n }\n let location = response.headersList.get("location");\n if (location !== null && isValidHeaderValue2(location)) {\n location = new URL(location, responseURL(response));\n }\n if (location && !location.hash) {\n location.hash = requestFragment;\n }\n return location;\n }\n __name(responseLocationURL, "responseLocationURL");\n function requestCurrentURL(request) {\n return request.urlList[request.urlList.length - 1];\n }\n __name(requestCurrentURL, "requestCurrentURL");\n function requestBadPort(request) {\n const url = requestCurrentURL(request);\n if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {\n return "blocked";\n }\n return "allowed";\n }\n __name(requestBadPort, "requestBadPort");\n function isErrorLike(object) {\n var _a, _b;\n return object instanceof Error || (((_a = object == null ? void 0 : object.constructor) == null ? void 0 : _a.name) === "Error" || ((_b = object == null ? void 0 : object.constructor) == null ? void 0 : _b.name) === "DOMException");\n }\n __name(isErrorLike, "isErrorLike");\n function isValidReasonPhrase(statusText) {\n for (let i = 0; i < statusText.length; ++i) {\n const c = statusText.charCodeAt(i);\n if (!(c === 9 || // HTAB\n c >= 32 && c <= 126 || // SP / VCHAR\n c >= 128 && c <= 255)) {\n return false;\n }\n }\n return true;\n }\n __name(isValidReasonPhrase, "isValidReasonPhrase");\n function isTokenChar(c) {\n return !(c >= 127 || c <= 32 || c === "(" || c === ")" || c === "<" || c === ">" || c === "@" || c === "," || c === ";" || c === ":" || c === "\\\\" || c === \'"\' || c === "/" || c === "[" || c === "]" || c === "?" || c === "=" || c === "{" || c === "}");\n }\n __name(isTokenChar, "isTokenChar");\n function isValidHTTPToken(characters) {\n if (!characters || typeof characters !== "string") {\n return false;\n }\n for (let i = 0; i < characters.length; ++i) {\n const c = characters.charCodeAt(i);\n if (c > 127 || !isTokenChar(c)) {\n return false;\n }\n }\n return true;\n }\n __name(isValidHTTPToken, "isValidHTTPToken");\n function isValidHeaderName2(potentialValue) {\n if (potentialValue.length === 0) {\n return false;\n }\n return isValidHTTPToken(potentialValue);\n }\n __name(isValidHeaderName2, "isValidHeaderName");\n function isValidHeaderValue2(potentialValue) {\n if (potentialValue.startsWith("\t") || potentialValue.startsWith(" ") || potentialValue.endsWith("\t") || potentialValue.endsWith(" ")) {\n return false;\n }\n if (potentialValue.includes("\\0") || potentialValue.includes("\\r") || potentialValue.includes("\\n")) {\n return false;\n }\n return true;\n }\n __name(isValidHeaderValue2, "isValidHeaderValue");\n function setRequestReferrerPolicyOnRedirect(request, actualResponse) {\n const { headersList } = actualResponse;\n const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");\n let policy = "";\n if (policyHeader.length > 0) {\n for (let i = policyHeader.length; i !== 0; i--) {\n const token = policyHeader[i - 1].trim();\n if (referrerPolicyTokens.includes(token)) {\n policy = token;\n break;\n }\n }\n }\n if (policy !== "") {\n request.referrerPolicy = policy;\n }\n }\n __name(setRequestReferrerPolicyOnRedirect, "setRequestReferrerPolicyOnRedirect");\n function crossOriginResourcePolicyCheck() {\n return "allowed";\n }\n __name(crossOriginResourcePolicyCheck, "crossOriginResourcePolicyCheck");\n function corsCheck() {\n return "success";\n }\n __name(corsCheck, "corsCheck");\n function TAOCheck() {\n return "success";\n }\n __name(TAOCheck, "TAOCheck");\n function appendFetchMetadata(httpRequest) {\n let header = null;\n header = httpRequest.mode;\n httpRequest.headersList.set("sec-fetch-mode", header);\n }\n __name(appendFetchMetadata, "appendFetchMetadata");\n function appendRequestOriginHeader(request) {\n let serializedOrigin = request.origin;\n if (request.responseTainting === "cors" || request.mode === "websocket") {\n if (serializedOrigin) {\n request.headersList.append("origin", serializedOrigin);\n }\n } else if (request.method !== "GET" && request.method !== "HEAD") {\n switch (request.referrerPolicy) {\n case "no-referrer":\n serializedOrigin = null;\n break;\n case "no-referrer-when-downgrade":\n case "strict-origin":\n case "strict-origin-when-cross-origin":\n if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {\n serializedOrigin = null;\n }\n break;\n case "same-origin":\n if (!sameOrigin(request, requestCurrentURL(request))) {\n serializedOrigin = null;\n }\n break;\n default:\n }\n if (serializedOrigin) {\n request.headersList.append("origin", serializedOrigin);\n }\n }\n }\n __name(appendRequestOriginHeader, "appendRequestOriginHeader");\n function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {\n return performance2.now();\n }\n __name(coarsenedSharedCurrentTime, "coarsenedSharedCurrentTime");\n function createOpaqueTimingInfo(timingInfo) {\n return {\n startTime: timingInfo.startTime ?? 0,\n redirectStartTime: 0,\n redirectEndTime: 0,\n postRedirectStartTime: timingInfo.startTime ?? 0,\n finalServiceWorkerStartTime: 0,\n finalNetworkResponseStartTime: 0,\n finalNetworkRequestStartTime: 0,\n endTime: 0,\n encodedBodySize: 0,\n decodedBodySize: 0,\n finalConnectionTimingInfo: null\n };\n }\n __name(createOpaqueTimingInfo, "createOpaqueTimingInfo");\n function makePolicyContainer() {\n return {\n referrerPolicy: "strict-origin-when-cross-origin"\n };\n }\n __name(makePolicyContainer, "makePolicyContainer");\n function clonePolicyContainer(policyContainer) {\n return {\n referrerPolicy: policyContainer.referrerPolicy\n };\n }\n __name(clonePolicyContainer, "clonePolicyContainer");\n function determineRequestsReferrer(request) {\n const policy = request.referrerPolicy;\n assert(policy);\n let referrerSource = null;\n if (request.referrer === "client") {\n const globalOrigin = getGlobalOrigin();\n if (!globalOrigin || globalOrigin.origin === "null") {\n return "no-referrer";\n }\n referrerSource = new URL(globalOrigin);\n } else if (request.referrer instanceof URL) {\n referrerSource = request.referrer;\n }\n let referrerURL = stripURLForReferrer(referrerSource);\n const referrerOrigin = stripURLForReferrer(referrerSource, true);\n if (referrerURL.toString().length > 4096) {\n referrerURL = referrerOrigin;\n }\n const areSameOrigin = sameOrigin(request, referrerURL);\n const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url);\n switch (policy) {\n case "origin":\n return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);\n case "unsafe-url":\n return referrerURL;\n case "same-origin":\n return areSameOrigin ? referrerOrigin : "no-referrer";\n case "origin-when-cross-origin":\n return areSameOrigin ? referrerURL : referrerOrigin;\n case "strict-origin-when-cross-origin": {\n const currentURL = requestCurrentURL(request);\n if (sameOrigin(referrerURL, currentURL)) {\n return referrerURL;\n }\n if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {\n return "no-referrer";\n }\n return referrerOrigin;\n }\n case "strict-origin":\n case "no-referrer-when-downgrade":\n default:\n return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;\n }\n }\n __name(determineRequestsReferrer, "determineRequestsReferrer");\n function stripURLForReferrer(url, originOnly) {\n assert(url instanceof URL);\n if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {\n return "no-referrer";\n }\n url.username = "";\n url.password = "";\n url.hash = "";\n if (originOnly) {\n url.pathname = "";\n url.search = "";\n }\n return url;\n }\n __name(stripURLForReferrer, "stripURLForReferrer");\n function isURLPotentiallyTrustworthy(url) {\n if (!(url instanceof URL)) {\n return false;\n }\n if (url.href === "about:blank" || url.href === "about:srcdoc") {\n return true;\n }\n if (url.protocol === "data:")\n return true;\n if (url.protocol === "file:")\n return true;\n return isOriginPotentiallyTrustworthy(url.origin);\n function isOriginPotentiallyTrustworthy(origin) {\n if (origin == null || origin === "null")\n return false;\n const originAsURL = new URL(origin);\n if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {\n return true;\n }\n if (/^127(?:\\.[0-9]+){0,2}\\.[0-9]+$|^\\[(?:0*:)*?:?0*1\\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {\n return true;\n }\n return false;\n }\n __name(isOriginPotentiallyTrustworthy, "isOriginPotentiallyTrustworthy");\n }\n __name(isURLPotentiallyTrustworthy, "isURLPotentiallyTrustworthy");\n function bytesMatch(bytes, metadataList) {\n if (crypto === void 0) {\n return true;\n }\n const parsedMetadata = parseMetadata(metadataList);\n if (parsedMetadata === "no metadata") {\n return true;\n }\n if (parsedMetadata.length === 0) {\n return true;\n }\n const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo));\n const strongest = list[0].algo;\n const metadata = list.filter((item) => item.algo === strongest);\n for (const item of metadata) {\n const algorithm = item.algo;\n const expectedValue = item.hash;\n const actualValue = crypto.createHash(algorithm).update(bytes).digest("base64");\n if (actualValue === expectedValue) {\n return true;\n }\n }\n return false;\n }\n __name(bytesMatch, "bytesMatch");\n var parseHashWithOptions = /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\\x21-\\x7e]?)?/i;\n function parseMetadata(metadata) {\n const result = [];\n let empty = true;\n const supportedHashes = crypto.getHashes();\n for (const token of metadata.split(" ")) {\n empty = false;\n const parsedToken = parseHashWithOptions.exec(token);\n if (parsedToken === null || parsedToken.groups === void 0) {\n continue;\n }\n const algorithm = parsedToken.groups.algo;\n if (supportedHashes.includes(algorithm.toLowerCase())) {\n result.push(parsedToken.groups);\n }\n }\n if (empty === true) {\n return "no metadata";\n }\n return result;\n }\n __name(parseMetadata, "parseMetadata");\n function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {\n }\n __name(tryUpgradeRequestToAPotentiallyTrustworthyURL, "tryUpgradeRequestToAPotentiallyTrustworthyURL");\n function sameOrigin(A, B) {\n if (A.origin === B.origin && A.origin === "null") {\n return true;\n }\n if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {\n return true;\n }\n return false;\n }\n __name(sameOrigin, "sameOrigin");\n function createDeferredPromise() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n return { promise, resolve: res, reject: rej };\n }\n __name(createDeferredPromise, "createDeferredPromise");\n function isAborted(fetchParams) {\n return fetchParams.controller.state === "aborted";\n }\n __name(isAborted, "isAborted");\n function isCancelled(fetchParams) {\n return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";\n }\n __name(isCancelled, "isCancelled");\n function normalizeMethod(method) {\n return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) ? method.toUpperCase() : method;\n }\n __name(normalizeMethod, "normalizeMethod");\n function serializeJavascriptValueToJSONString(value) {\n const result = JSON.stringify(value);\n if (result === void 0) {\n throw new TypeError("Value is not JSON serializable");\n }\n assert(typeof result === "string");\n return result;\n }\n __name(serializeJavascriptValueToJSONString, "serializeJavascriptValueToJSONString");\n var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));\n function makeIterator(iterator, name, kind) {\n const object = {\n index: 0,\n kind,\n target: iterator\n };\n const i = {\n next() {\n if (Object.getPrototypeOf(this) !== i) {\n throw new TypeError(\n `\'next\' called on an object that does not implement interface ${name} Iterator.`\n );\n }\n const { index, kind: kind2, target } = object;\n const values = target();\n const len = values.length;\n if (index >= len) {\n return { value: void 0, done: true };\n }\n const pair = values[index];\n object.index = index + 1;\n return iteratorResult(pair, kind2);\n },\n // The class string of an iterator prototype object for a given interface is the\n // result of concatenating the identifier of the interface and the string " Iterator".\n [Symbol.toStringTag]: `${name} Iterator`\n };\n Object.setPrototypeOf(i, esIteratorPrototype);\n return Object.setPrototypeOf({}, i);\n }\n __name(makeIterator, "makeIterator");\n function iteratorResult(pair, kind) {\n let result;\n switch (kind) {\n case "key": {\n result = pair[0];\n break;\n }\n case "value": {\n result = pair[1];\n break;\n }\n case "key+value": {\n result = pair;\n break;\n }\n }\n return { value: result, done: false };\n }\n __name(iteratorResult, "iteratorResult");\n function fullyReadBody(body, processBody, processBodyError) {\n const successSteps = /* @__PURE__ */ __name((bytes) => queueMicrotask(() => processBody(bytes)), "successSteps");\n const errorSteps = /* @__PURE__ */ __name((error) => queueMicrotask(() => processBodyError(error)), "errorSteps");\n let reader;\n try {\n reader = body.stream.getReader();\n } catch (e) {\n errorSteps(e);\n return;\n }\n readAllBytes(reader, successSteps, errorSteps);\n }\n __name(fullyReadBody, "fullyReadBody");\n var ReadableStream = globalThis.ReadableStream;\n function isReadableStreamLike(stream) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";\n }\n __name(isReadableStreamLike, "isReadableStreamLike");\n var MAXIMUM_ARGUMENT_LENGTH = 65535;\n function isomorphicDecode(input) {\n if (input.length < MAXIMUM_ARGUMENT_LENGTH) {\n return String.fromCharCode(...input);\n }\n return input.reduce((previous, current) => previous + String.fromCharCode(current), "");\n }\n __name(isomorphicDecode, "isomorphicDecode");\n function readableStreamClose(controller) {\n try {\n controller.close();\n } catch (err) {\n if (!err.message.includes("Controller is already closed")) {\n throw err;\n }\n }\n }\n __name(readableStreamClose, "readableStreamClose");\n function isomorphicEncode(input) {\n for (let i = 0; i < input.length; i++) {\n assert(input.charCodeAt(i) <= 255);\n }\n return input;\n }\n __name(isomorphicEncode, "isomorphicEncode");\n async function readAllBytes(reader, successSteps, failureSteps) {\n const bytes = [];\n let byteLength = 0;\n while (true) {\n let done;\n let chunk;\n try {\n ({ done, value: chunk } = await reader.read());\n } catch (e) {\n failureSteps(e);\n return;\n }\n if (done) {\n successSteps(Buffer.concat(bytes, byteLength));\n return;\n }\n if (!isUint8Array(chunk)) {\n failureSteps(new TypeError("Received non-Uint8Array chunk"));\n return;\n }\n bytes.push(chunk);\n byteLength += chunk.length;\n }\n }\n __name(readAllBytes, "readAllBytes");\n function urlIsLocal(url) {\n assert("protocol" in url);\n const protocol = url.protocol;\n return protocol === "about:" || protocol === "blob:" || protocol === "data:";\n }\n __name(urlIsLocal, "urlIsLocal");\n function urlHasHttpsScheme(url) {\n if (typeof url === "string") {\n return url.startsWith("https:");\n }\n return url.protocol === "https:";\n }\n __name(urlHasHttpsScheme, "urlHasHttpsScheme");\n function urlIsHttpHttpsScheme(url) {\n assert("protocol" in url);\n const protocol = url.protocol;\n return protocol === "http:" || protocol === "https:";\n }\n __name(urlIsHttpHttpsScheme, "urlIsHttpHttpsScheme");\n var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));\n module2.exports = {\n isAborted,\n isCancelled,\n createDeferredPromise,\n ReadableStreamFrom,\n toUSVString,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n coarsenedSharedCurrentTime,\n determineRequestsReferrer,\n makePolicyContainer,\n clonePolicyContainer,\n appendFetchMetadata,\n appendRequestOriginHeader,\n TAOCheck,\n corsCheck,\n crossOriginResourcePolicyCheck,\n createOpaqueTimingInfo,\n setRequestReferrerPolicyOnRedirect,\n isValidHTTPToken,\n requestBadPort,\n requestCurrentURL,\n responseURL,\n responseLocationURL,\n isBlobLike,\n isURLPotentiallyTrustworthy,\n isValidReasonPhrase,\n sameOrigin,\n normalizeMethod,\n serializeJavascriptValueToJSONString,\n makeIterator,\n isValidHeaderName: isValidHeaderName2,\n isValidHeaderValue: isValidHeaderValue2,\n hasOwn,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n isomorphicDecode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/webidl.js\nvar require_webidl = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/webidl.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { types } = require("util");\n var { hasOwn, toUSVString } = require_util2();\n var webidl = {};\n webidl.converters = {};\n webidl.util = {};\n webidl.errors = {};\n webidl.errors.exception = function(message) {\n return new TypeError(`${message.header}: ${message.message}`);\n };\n webidl.errors.conversionFailed = function(context) {\n const plural = context.types.length === 1 ? "" : " one of";\n const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`;\n return webidl.errors.exception({\n header: context.prefix,\n message\n });\n };\n webidl.errors.invalidArgument = function(context) {\n return webidl.errors.exception({\n header: context.prefix,\n message: `"${context.value}" is an invalid ${context.type}.`\n });\n };\n webidl.brandCheck = function(V, I, opts = void 0) {\n if ((opts == null ? void 0 : opts.strict) !== false && !(V instanceof I)) {\n throw new TypeError("Illegal invocation");\n } else {\n return (V == null ? void 0 : V[Symbol.toStringTag]) === I.prototype[Symbol.toStringTag];\n }\n };\n webidl.argumentLengthCheck = function({ length }, min, ctx) {\n if (length < min) {\n throw webidl.errors.exception({\n message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,\n ...ctx\n });\n }\n };\n webidl.illegalConstructor = function() {\n throw webidl.errors.exception({\n header: "TypeError",\n message: "Illegal constructor"\n });\n };\n webidl.util.Type = function(V) {\n switch (typeof V) {\n case "undefined":\n return "Undefined";\n case "boolean":\n return "Boolean";\n case "string":\n return "String";\n case "symbol":\n return "Symbol";\n case "number":\n return "Number";\n case "bigint":\n return "BigInt";\n case "function":\n case "object": {\n if (V === null) {\n return "Null";\n }\n return "Object";\n }\n }\n };\n webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {\n let upperBound;\n let lowerBound;\n if (bitLength === 64) {\n upperBound = Math.pow(2, 53) - 1;\n if (signedness === "unsigned") {\n lowerBound = 0;\n } else {\n lowerBound = Math.pow(-2, 53) + 1;\n }\n } else if (signedness === "unsigned") {\n lowerBound = 0;\n upperBound = Math.pow(2, bitLength) - 1;\n } else {\n lowerBound = Math.pow(-2, bitLength) - 1;\n upperBound = Math.pow(2, bitLength - 1) - 1;\n }\n let x = Number(V);\n if (x === 0) {\n x = 0;\n }\n if (opts.enforceRange === true) {\n if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {\n throw webidl.errors.exception({\n header: "Integer conversion",\n message: `Could not convert ${V} to an integer.`\n });\n }\n x = webidl.util.IntegerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw webidl.errors.exception({\n header: "Integer conversion",\n message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`\n });\n }\n return x;\n }\n if (!Number.isNaN(x) && opts.clamp === true) {\n x = Math.min(Math.max(x, lowerBound), upperBound);\n if (Math.floor(x) % 2 === 0) {\n x = Math.floor(x);\n } else {\n x = Math.ceil(x);\n }\n return x;\n }\n if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {\n return 0;\n }\n x = webidl.util.IntegerPart(x);\n x = x % Math.pow(2, bitLength);\n if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {\n return x - Math.pow(2, bitLength);\n }\n return x;\n };\n webidl.util.IntegerPart = function(n) {\n const r = Math.floor(Math.abs(n));\n if (n < 0) {\n return -1 * r;\n }\n return r;\n };\n webidl.sequenceConverter = function(converter) {\n return (V) => {\n var _a;\n if (webidl.util.Type(V) !== "Object") {\n throw webidl.errors.exception({\n header: "Sequence",\n message: `Value of type ${webidl.util.Type(V)} is not an Object.`\n });\n }\n const method = (_a = V == null ? void 0 : V[Symbol.iterator]) == null ? void 0 : _a.call(V);\n const seq = [];\n if (method === void 0 || typeof method.next !== "function") {\n throw webidl.errors.exception({\n header: "Sequence",\n message: "Object is not an iterator."\n });\n }\n while (true) {\n const { done, value } = method.next();\n if (done) {\n break;\n }\n seq.push(converter(value));\n }\n return seq;\n };\n };\n webidl.recordConverter = function(keyConverter, valueConverter) {\n return (O) => {\n if (webidl.util.Type(O) !== "Object") {\n throw webidl.errors.exception({\n header: "Record",\n message: `Value of type ${webidl.util.Type(O)} is not an Object.`\n });\n }\n const result = {};\n if (!types.isProxy(O)) {\n const keys2 = Object.keys(O);\n for (const key of keys2) {\n const typedKey = keyConverter(key);\n const typedValue = valueConverter(O[key]);\n result[typedKey] = typedValue;\n }\n return result;\n }\n const keys = Reflect.ownKeys(O);\n for (const key of keys) {\n const desc = Reflect.getOwnPropertyDescriptor(O, key);\n if (desc == null ? void 0 : desc.enumerable) {\n const typedKey = keyConverter(key);\n const typedValue = valueConverter(O[key]);\n result[typedKey] = typedValue;\n }\n }\n return result;\n };\n };\n webidl.interfaceConverter = function(i) {\n return (V, opts = {}) => {\n if (opts.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: i.name,\n message: `Expected ${V} to be an instance of ${i.name}.`\n });\n }\n return V;\n };\n };\n webidl.dictionaryConverter = function(converters) {\n return (dictionary) => {\n const type = webidl.util.Type(dictionary);\n const dict = {};\n if (type === "Null" || type === "Undefined") {\n return dict;\n } else if (type !== "Object") {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`\n });\n }\n for (const options of converters) {\n const { key, defaultValue, required, converter } = options;\n if (required === true) {\n if (!hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `Missing required key "${key}".`\n });\n }\n }\n let value = dictionary[key];\n const hasDefault = hasOwn(options, "defaultValue");\n if (hasDefault && value !== null) {\n value = value ?? defaultValue;\n }\n if (required || hasDefault || value !== void 0) {\n value = converter(value);\n if (options.allowedValues && !options.allowedValues.includes(value)) {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`\n });\n }\n dict[key] = value;\n }\n }\n return dict;\n };\n };\n webidl.nullableConverter = function(converter) {\n return (V) => {\n if (V === null) {\n return V;\n }\n return converter(V);\n };\n };\n webidl.converters.DOMString = function(V, opts = {}) {\n if (V === null && opts.legacyNullToEmptyString) {\n return "";\n }\n if (typeof V === "symbol") {\n throw new TypeError("Could not convert argument of type symbol to string.");\n }\n return String(V);\n };\n webidl.converters.ByteString = function(V) {\n const x = webidl.converters.DOMString(V);\n for (let index = 0; index < x.length; index++) {\n const charCode = x.charCodeAt(index);\n if (charCode > 255) {\n throw new TypeError(\n `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${charCode} which is greater than 255.`\n );\n }\n }\n return x;\n };\n webidl.converters.USVString = toUSVString;\n webidl.converters.boolean = function(V) {\n const x = Boolean(V);\n return x;\n };\n webidl.converters.any = function(V) {\n return V;\n };\n webidl.converters["long long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 64, "signed");\n return x;\n };\n webidl.converters["unsigned long long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 64, "unsigned");\n return x;\n };\n webidl.converters["unsigned long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 32, "unsigned");\n return x;\n };\n webidl.converters["unsigned short"] = function(V, opts) {\n const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);\n return x;\n };\n webidl.converters.ArrayBuffer = function(V, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {\n throw webidl.errors.conversionFailed({\n prefix: `${V}`,\n argument: `${V}`,\n types: ["ArrayBuffer"]\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.TypedArray = function(V, T, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {\n throw webidl.errors.conversionFailed({\n prefix: `${T.name}`,\n argument: `${V}`,\n types: [T.name]\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.DataView = function(V, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {\n throw webidl.errors.exception({\n header: "DataView",\n message: "Object is not a DataView."\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.BufferSource = function(V, opts = {}) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, opts);\n }\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor);\n }\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, opts);\n }\n throw new TypeError(`Could not convert ${V} to a BufferSource.`);\n };\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.ByteString\n );\n webidl.converters["sequence>"] = webidl.sequenceConverter(\n webidl.converters["sequence"]\n );\n webidl.converters["record"] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n );\n module2.exports = {\n webidl\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/headers.js\nvar require_headers = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/headers.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kHeadersList } = require_symbols2();\n var { kGuard: kGuard2 } = require_symbols();\n var { kEnumerableProperty } = require_util();\n var {\n makeIterator,\n isValidHeaderName: isValidHeaderName2,\n isValidHeaderValue: isValidHeaderValue2\n } = require_util2();\n var { webidl } = require_webidl();\n var assert = require("assert");\n var kHeadersMap = Symbol("headers map");\n var kHeadersSortedMap = Symbol("headers map sorted");\n function headerValueNormalize(potentialValue) {\n let i = potentialValue.length;\n while (/[\\r\\n\\t ]/.test(potentialValue.charAt(--i)))\n ;\n return potentialValue.slice(0, i + 1).replace(/^[\\r\\n\\t ]+/, "");\n }\n __name(headerValueNormalize, "headerValueNormalize");\n function fill(headers, object) {\n if (Array.isArray(object)) {\n for (const header of object) {\n if (header.length !== 2) {\n throw webidl.errors.exception({\n header: "Headers constructor",\n message: `expected name/value pair to be length 2, found ${header.length}.`\n });\n }\n headers.append(header[0], header[1]);\n }\n } else if (typeof object === "object" && object !== null) {\n for (const [key, value] of Object.entries(object)) {\n headers.append(key, value);\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: "Headers constructor",\n argument: "Argument 1",\n types: ["sequence>", "record"]\n });\n }\n }\n __name(fill, "fill");\n var HeadersList = class {\n /** @type {[string, string][]|null} */\n cookies = null;\n constructor(init) {\n if (init instanceof HeadersList) {\n this[kHeadersMap] = new Map(init[kHeadersMap]);\n this[kHeadersSortedMap] = init[kHeadersSortedMap];\n this.cookies = init.cookies;\n } else {\n this[kHeadersMap] = new Map(init);\n this[kHeadersSortedMap] = null;\n }\n }\n // https://fetch.spec.whatwg.org/#header-list-contains\n contains(name) {\n name = name.toLowerCase();\n return this[kHeadersMap].has(name);\n }\n clear() {\n this[kHeadersMap].clear();\n this[kHeadersSortedMap] = null;\n this.cookies = null;\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-append\n append(name, value) {\n this[kHeadersSortedMap] = null;\n const lowercaseName = name.toLowerCase();\n const exists = this[kHeadersMap].get(lowercaseName);\n if (exists) {\n const delimiter = lowercaseName === "cookie" ? "; " : ", ";\n this[kHeadersMap].set(lowercaseName, {\n name: exists.name,\n value: `${exists.value}${delimiter}${value}`\n });\n } else {\n this[kHeadersMap].set(lowercaseName, { name, value });\n }\n if (lowercaseName === "set-cookie") {\n this.cookies ?? (this.cookies = []);\n this.cookies.push(value);\n }\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-set\n set(name, value) {\n this[kHeadersSortedMap] = null;\n const lowercaseName = name.toLowerCase();\n if (lowercaseName === "set-cookie") {\n this.cookies = [value];\n }\n return this[kHeadersMap].set(lowercaseName, { name, value });\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-delete\n delete(name) {\n this[kHeadersSortedMap] = null;\n name = name.toLowerCase();\n if (name === "set-cookie") {\n this.cookies = null;\n }\n return this[kHeadersMap].delete(name);\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-get\n get(name) {\n var _a;\n if (!this.contains(name)) {\n return null;\n }\n return ((_a = this[kHeadersMap].get(name.toLowerCase())) == null ? void 0 : _a.value) ?? null;\n }\n *[Symbol.iterator]() {\n for (const [name, { value }] of this[kHeadersMap]) {\n yield [name, value];\n }\n }\n get entries() {\n const headers = {};\n if (this[kHeadersMap].size) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value;\n }\n }\n return headers;\n }\n };\n __name(HeadersList, "HeadersList");\n var Headers3 = class {\n constructor(init = void 0) {\n this[kHeadersList] = new HeadersList();\n this[kGuard2] = "none";\n if (init !== void 0) {\n init = webidl.converters.HeadersInit(init);\n fill(this, init);\n }\n }\n // https://fetch.spec.whatwg.org/#dom-headers-append\n append(name, value) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });\n name = webidl.converters.ByteString(name);\n value = webidl.converters.ByteString(value);\n value = headerValueNormalize(value);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.append",\n value: name,\n type: "header name"\n });\n } else if (!isValidHeaderValue2(value)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.append",\n value,\n type: "header value"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n return this[kHeadersList].append(name, value);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-delete\n delete(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.delete",\n value: name,\n type: "header name"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n if (!this[kHeadersList].contains(name)) {\n return;\n }\n return this[kHeadersList].delete(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-get\n get(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.get",\n value: name,\n type: "header name"\n });\n }\n return this[kHeadersList].get(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-has\n has(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.has",\n value: name,\n type: "header name"\n });\n }\n return this[kHeadersList].contains(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-set\n set(name, value) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });\n name = webidl.converters.ByteString(name);\n value = webidl.converters.ByteString(value);\n value = headerValueNormalize(value);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.set",\n value: name,\n type: "header name"\n });\n } else if (!isValidHeaderValue2(value)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.set",\n value,\n type: "header value"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n return this[kHeadersList].set(name, value);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie() {\n webidl.brandCheck(this, Headers3);\n const list = this[kHeadersList].cookies;\n if (list) {\n return [...list];\n }\n return [];\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n get [kHeadersSortedMap]() {\n if (this[kHeadersList][kHeadersSortedMap]) {\n return this[kHeadersList][kHeadersSortedMap];\n }\n const headers = [];\n const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);\n const cookies = this[kHeadersList].cookies;\n for (const [name, value] of names) {\n if (name === "set-cookie") {\n for (const value2 of cookies) {\n headers.push([name, value2]);\n }\n } else {\n assert(value !== null);\n headers.push([name, value]);\n }\n }\n this[kHeadersList][kHeadersSortedMap] = headers;\n return headers;\n }\n keys() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "value"\n );\n }\n entries() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "key+value"\n );\n }\n /**\n * @param {(value: string, key: string, self: Headers) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach(callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });\n if (typeof callbackFn !== "function") {\n throw new TypeError(\n "Failed to execute \'forEach\' on \'Headers\': parameter 1 is not of type \'Function\'."\n );\n }\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this]);\n }\n }\n [Symbol.for("nodejs.util.inspect.custom")]() {\n webidl.brandCheck(this, Headers3);\n return this[kHeadersList];\n }\n };\n __name(Headers3, "Headers");\n Headers3.prototype[Symbol.iterator] = Headers3.prototype.entries;\n Object.defineProperties(Headers3.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n keys: kEnumerableProperty,\n values: kEnumerableProperty,\n entries: kEnumerableProperty,\n forEach: kEnumerableProperty,\n [Symbol.iterator]: { enumerable: false },\n [Symbol.toStringTag]: {\n value: "Headers",\n configurable: true\n }\n });\n webidl.converters.HeadersInit = function(V) {\n if (webidl.util.Type(V) === "Object") {\n if (V[Symbol.iterator]) {\n return webidl.converters["sequence>"](V);\n }\n return webidl.converters["record"](V);\n }\n throw webidl.errors.conversionFailed({\n prefix: "Headers constructor",\n argument: "Argument 1",\n types: ["sequence>", "record"]\n });\n };\n module2.exports = {\n fill,\n Headers: Headers3,\n HeadersList\n };\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js\nvar require_utils = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js"(exports, module2) {\n "use strict";\n init_define_process();\n function parseContentType(str) {\n if (str.length === 0)\n return;\n const params = /* @__PURE__ */ Object.create(null);\n let i = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47 || i === 0)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n const type = str.slice(0, i).toLowerCase();\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === subtypeStart)\n return;\n if (parseContentTypeParams(str, i, params) === void 0)\n return;\n break;\n }\n }\n if (i === subtypeStart)\n return;\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n return { type, subtype, params };\n }\n __name(parseContentType, "parseContentType");\n function parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n break;\n if (str.charCodeAt(i++) !== 59)\n return;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n return;\n let name;\n const nameStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n name = str.slice(nameStart, i);\n ++i;\n if (i === str.length)\n return;\n let value = "";\n let valueStart;\n if (str.charCodeAt(i) === 34) {\n valueStart = ++i;\n let escaping = false;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n if (QDTEXT[code] !== 1)\n return;\n }\n if (i === str.length)\n return;\n ++i;\n } else {\n valueStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n name = name.toLowerCase();\n if (params[name] === void 0)\n params[name] = value;\n }\n return params;\n }\n __name(parseContentTypeParams, "parseContentTypeParams");\n function parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n const params = /* @__PURE__ */ Object.create(null);\n let i = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === void 0)\n return;\n break;\n }\n }\n const type = str.slice(0, i).toLowerCase();\n return { type, params };\n }\n __name(parseDisposition, "parseDisposition");\n function parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n break;\n if (str.charCodeAt(i++) !== 59)\n return;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n return;\n let name;\n const nameStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61)\n break;\n return;\n }\n }\n if (i === str.length)\n return;\n let value = "";\n let valueStart;\n let charset;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42) {\n const charsetStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n charset = str.slice(charsetStart, i);\n ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39)\n break;\n }\n if (i === str.length)\n return;\n ++i;\n if (i === str.length)\n return;\n valueStart = i;\n let encode = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1 && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n return;\n }\n break;\n }\n }\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === void 0)\n return;\n } else {\n ++i;\n if (i === str.length)\n return;\n if (str.charCodeAt(i) === 34) {\n valueStart = ++i;\n let escaping = false;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n if (QDTEXT[code] !== 1)\n return;\n }\n if (i === str.length)\n return;\n ++i;\n } else {\n valueStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n value = defDecoder(value, 2);\n if (value === void 0)\n return;\n }\n name = name.toLowerCase();\n if (params[name] === void 0)\n params[name] = value;\n }\n return params;\n }\n __name(parseDispositionParams, "parseDispositionParams");\n function getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case "utf-8":\n case "utf8":\n return decoders.utf8;\n case "latin1":\n case "ascii":\n case "us-ascii":\n case "iso-8859-1":\n case "iso8859-1":\n case "iso88591":\n case "iso_8859-1":\n case "windows-1252":\n case "iso_8859-1:1987":\n case "cp1252":\n case "x-cp1252":\n return decoders.latin1;\n case "utf16le":\n case "utf-16le":\n case "ucs2":\n case "ucs-2":\n return decoders.utf16le;\n case "base64":\n return decoders.base64;\n default:\n if (lc === void 0) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n }\n __name(getDecoder, "getDecoder");\n var decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string") {\n if (hint < 2)\n return data;\n data = Buffer.from(data, "latin1");\n }\n return data.utf8Slice(0, data.length);\n },\n latin1: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n return data;\n return data.latin1Slice(0, data.length);\n },\n utf16le: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n return data.ucs2Slice(0, data.length);\n },\n base64: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n return data.base64Slice(0, data.length);\n },\n other: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n try {\n const decoder = new TextDecoder(exports);\n return decoder.decode(data);\n } catch {\n }\n }\n };\n function convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n }\n __name(convertToUTF8, "convertToUTF8");\n function basename(path) {\n if (typeof path !== "string")\n return "";\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 47:\n case 92:\n path = path.slice(i + 1);\n return path === ".." || path === "." ? "" : path;\n }\n }\n return path === ".." || path === "." ? "" : path;\n }\n __name(basename, "basename");\n var TOKEN = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var QDTEXT = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1\n ];\n var CHARSET = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var EXTENDED_VALUE = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var HEX_VALUES = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ];\n module2.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition\n };\n }\n});\n\n// ../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js\nvar require_sbmh = __commonJS({\n "../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js"(exports, module2) {\n "use strict";\n init_define_process();\n function memcmp(buf1, pos1, buf2, pos2, num) {\n for (let i = 0; i < num; ++i) {\n if (buf1[pos1 + i] !== buf2[pos2 + i])\n return false;\n }\n return true;\n }\n __name(memcmp, "memcmp");\n var SBMH = class {\n constructor(needle, cb) {\n if (typeof cb !== "function")\n throw new Error("Missing match callback");\n if (typeof needle === "string")\n needle = Buffer.from(needle);\n else if (!Buffer.isBuffer(needle))\n throw new Error(`Expected Buffer for needle, got ${typeof needle}`);\n const needleLen = needle.length;\n this.maxMatches = Infinity;\n this.matches = 0;\n this._cb = cb;\n this._lookbehindSize = 0;\n this._needle = needle;\n this._bufPos = 0;\n this._lookbehind = Buffer.allocUnsafe(needleLen);\n this._occ = [\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen\n ];\n if (needleLen > 1) {\n for (let i = 0; i < needleLen - 1; ++i)\n this._occ[needle[i]] = needleLen - 1 - i;\n }\n }\n reset() {\n this.matches = 0;\n this._lookbehindSize = 0;\n this._bufPos = 0;\n }\n push(chunk, pos) {\n let result;\n if (!Buffer.isBuffer(chunk))\n chunk = Buffer.from(chunk, "latin1");\n const chunkLen = chunk.length;\n this._bufPos = pos || 0;\n while (result !== chunkLen && this.matches < this.maxMatches)\n result = feed(this, chunk);\n return result;\n }\n destroy() {\n const lbSize = this._lookbehindSize;\n if (lbSize)\n this._cb(false, this._lookbehind, 0, lbSize, false);\n this.reset();\n }\n };\n __name(SBMH, "SBMH");\n function feed(self, data) {\n const len = data.length;\n const needle = self._needle;\n const needleLen = needle.length;\n let pos = -self._lookbehindSize;\n const lastNeedleCharPos = needleLen - 1;\n const lastNeedleChar = needle[lastNeedleCharPos];\n const end = len - needleLen;\n const occ = self._occ;\n const lookbehind = self._lookbehind;\n if (pos < 0) {\n while (pos < 0 && pos <= end) {\n const nextPos = pos + lastNeedleCharPos;\n const ch = nextPos < 0 ? lookbehind[self._lookbehindSize + nextPos] : data[nextPos];\n if (ch === lastNeedleChar && matchNeedle(self, data, pos, lastNeedleCharPos)) {\n self._lookbehindSize = 0;\n ++self.matches;\n if (pos > -self._lookbehindSize)\n self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);\n else\n self._cb(true, void 0, 0, 0, true);\n return self._bufPos = pos + needleLen;\n }\n pos += occ[ch];\n }\n while (pos < 0 && !matchNeedle(self, data, pos, len - pos))\n ++pos;\n if (pos < 0) {\n const bytesToCutOff = self._lookbehindSize + pos;\n if (bytesToCutOff > 0) {\n self._cb(false, lookbehind, 0, bytesToCutOff, false);\n }\n self._lookbehindSize -= bytesToCutOff;\n lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);\n lookbehind.set(data, self._lookbehindSize);\n self._lookbehindSize += len;\n self._bufPos = len;\n return len;\n }\n self._cb(false, lookbehind, 0, self._lookbehindSize, false);\n self._lookbehindSize = 0;\n }\n pos += self._bufPos;\n const firstNeedleChar = needle[0];\n while (pos <= end) {\n const ch = data[pos + lastNeedleCharPos];\n if (ch === lastNeedleChar && data[pos] === firstNeedleChar && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {\n ++self.matches;\n if (pos > 0)\n self._cb(true, data, self._bufPos, pos, true);\n else\n self._cb(true, void 0, 0, 0, true);\n return self._bufPos = pos + needleLen;\n }\n pos += occ[ch];\n }\n while (pos < len) {\n if (data[pos] !== firstNeedleChar || !memcmp(data, pos, needle, 0, len - pos)) {\n ++pos;\n continue;\n }\n data.copy(lookbehind, 0, pos, len);\n self._lookbehindSize = len - pos;\n break;\n }\n if (pos > 0)\n self._cb(false, data, self._bufPos, pos < len ? pos : len, true);\n self._bufPos = len;\n return len;\n }\n __name(feed, "feed");\n function matchNeedle(self, data, pos, len) {\n const lb = self._lookbehind;\n const lbSize = self._lookbehindSize;\n const needle = self._needle;\n for (let i = 0; i < len; ++i, ++pos) {\n const ch = pos < 0 ? lb[lbSize + pos] : data[pos];\n if (ch !== needle[i])\n return false;\n }\n return true;\n }\n __name(matchNeedle, "matchNeedle");\n module2.exports = SBMH;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js\nvar require_multipart = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Readable, Writable } = require("stream");\n var StreamSearch = require_sbmh();\n var {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition\n } = require_utils();\n var BUF_CRLF = Buffer.from("\\r\\n");\n var BUF_CR = Buffer.from("\\r");\n var BUF_DASH = Buffer.from("-");\n function noop() {\n }\n __name(noop, "noop");\n var MAX_HEADER_PAIRS = 2e3;\n var MAX_HEADER_SIZE = 16 * 1024;\n var HPARSER_NAME = 0;\n var HPARSER_PRE_OWS = 1;\n var HPARSER_VALUE = 2;\n var HeaderParser = class {\n constructor(cb) {\n this.header = /* @__PURE__ */ Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n this.crlf = 0;\n this.cb = cb;\n }\n reset() {\n this.header = /* @__PURE__ */ Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n this.crlf = 0;\n }\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n }\n case HPARSER_PRE_OWS: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32 && code !== 9) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0:\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1:\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10)\n return -1;\n ++this.crlf;\n break;\n case 2: {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32 || code === 9) {\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === void 0)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13) {\n ++this.crlf;\n ++pos;\n } else {\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n }\n }\n break;\n }\n case 3: {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10)\n return -1;\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n return pos;\n }\n };\n __name(HeaderParser, "HeaderParser");\n var FileStream = class extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once("end", () => {\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n define_process_default.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n };\n __name(FileStream, "FileStream");\n var ignoreData = {\n push: (chunk, pos) => {\n },\n destroy: () => {\n }\n };\n function callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n }\n __name(callAndUnsetCb, "callAndUnsetCb");\n function nullDecoder(val, hint) {\n return val;\n }\n __name(nullDecoder, "nullDecoder");\n var Multipart = class extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0\n };\n super(streamOpts);\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== "string")\n throw new Error("Multipart: Boundary not found");\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = typeof cfg.defParamCharset === "string" && cfg.defParamCharset ? getDecoder(cfg.defParamCharset) : nullDecoder;\n const defCharset = cfg.defCharset || "utf8";\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.fileHwm === "number" ? cfg.fileHwm : void 0\n };\n const limits = cfg.limits;\n const fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;\n const fileSizeLimit = limits && typeof limits.fileSize === "number" ? limits.fileSize : Infinity;\n const filesLimit = limits && typeof limits.files === "number" ? limits.files : Infinity;\n const fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;\n const partsLimit = limits && typeof limits.parts === "number" ? limits.parts : Infinity;\n let parts = -1;\n let fields = 0;\n let files = 0;\n let skipPart = false;\n this._fileEndsLeft = 0;\n this._fileStream = void 0;\n this._complete = false;\n let fileSize = 0;\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n partType = "text/plain";\n partCharset = defCharset;\n partEncoding = "7bit";\n partName = void 0;\n partTruncated = false;\n let filename;\n if (!header["content-disposition"]) {\n skipPart = true;\n return;\n }\n const disp = parseDisposition(\n header["content-disposition"][0],\n paramDecoder\n );\n if (!disp || disp.type !== "form-data") {\n skipPart = true;\n return;\n }\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n if (disp.params["filename*"])\n filename = disp.params["filename*"];\n else if (disp.params.filename)\n filename = disp.params.filename;\n if (filename !== void 0 && !preservePath)\n filename = basename(filename);\n }\n if (header["content-type"]) {\n const conType = parseContentType(header["content-type"][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === "string")\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n if (header["content-transfer-encoding"])\n partEncoding = header["content-transfer-encoding"][0].toLowerCase();\n if (partType === "application/octet-stream" || filename !== void 0) {\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit("filesLimit");\n }\n skipPart = true;\n return;\n }\n ++files;\n if (this.listenerCount("file") === 0) {\n skipPart = true;\n return;\n }\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n "file",\n partName,\n this._fileStream,\n {\n filename,\n encoding: partEncoding,\n mimeType: partType\n }\n );\n } else {\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit("fieldsLimit");\n }\n skipPart = true;\n return;\n }\n ++fields;\n if (this.listenerCount("field") === 0) {\n skipPart = true;\n return;\n }\n field = [];\n fieldSize = 0;\n }\n });\n let matchPostBoundary = 0;\n const ssCb = /* @__PURE__ */ __name((isMatch, data, start, end, isDataSafe) => {\n retrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit("error", new Error("Malformed part header"));\n break;\n }\n start = ret;\n }\n if (start === end)\n break;\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45:\n matchPostBoundary = 2;\n ++start;\n break;\n case 13:\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45) {\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10) {\n ++start;\n if (parts >= partsLimit)\n break;\n this._hparser = hparser;\n if (start === end)\n break;\n continue retrydata;\n } else {\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit("limit");\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== void 0) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n break;\n }\n if (isMatch) {\n matchPostBoundary = 1;\n if (this._fileStream) {\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== void 0) {\n let data2;\n switch (field.length) {\n case 0:\n data2 = "";\n break;\n case 1:\n data2 = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data2 = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = void 0;\n fieldSize = 0;\n this.emit(\n "field",\n partName,\n data2,\n {\n nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType\n }\n );\n }\n if (++parts === partsLimit)\n this.emit("partsLimit");\n }\n }, "ssCb");\n this._bparser = new StreamSearch(`\\r\n--${boundary}`, ssCb);\n this._writecb = null;\n this._finalcb = null;\n this.write(BUF_CRLF);\n }\n static detect(conType) {\n return conType.type === "multipart" && conType.subtype === "form-data";\n }\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error("Unexpected end of form"));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n };\n __name(Multipart, "Multipart");\n function finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n }\n __name(finalcb, "finalcb");\n function checkEndState(self) {\n if (self._hparser)\n return new Error("Malformed part header");\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error("Unexpected end of file"));\n }\n if (!self._complete)\n return new Error("Unexpected end of form");\n }\n __name(checkEndState, "checkEndState");\n var TOKEN = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var FIELD_VCHAR = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1\n ];\n module2.exports = Multipart;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js\nvar require_urlencoded = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Writable } = require("stream");\n var { getDecoder } = require_utils();\n var URLEncoded = class extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0\n };\n super(streamOpts);\n let charset = cfg.defCharset || "utf8";\n if (cfg.conType.params && typeof cfg.conType.params.charset === "string")\n charset = cfg.conType.params.charset;\n this.charset = charset;\n const limits = cfg.limits;\n this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;\n this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;\n this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100;\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = "";\n this._val = "";\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n static detect(conType) {\n return conType.type === "application" && conType.subtype === "x-www-form-urlencoded";\n }\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n main:\n while (i < len) {\n if (this._inKey) {\n i = skipKeyBytes(this, chunk, i, len);\n while (i < len) {\n switch (chunk[i]) {\n case 61:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n "field",\n this._key,\n "",\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n this._key = "";\n this._val = "";\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit("fieldsLimit");\n return cb();\n }\n continue;\n case 43:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += " ";\n this._lastPos = i + 1;\n break;\n case 37:\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n i = skipValBytes(this, chunk, i, len);\n while (i < len) {\n switch (chunk[i]) {\n case 38:\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n "field",\n this._key,\n this._val,\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n this._key = "";\n this._val = "";\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit("fieldsLimit");\n return cb();\n }\n continue main;\n case 43:\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += " ";\n this._lastPos = i + 1;\n break;\n case 37:\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n cb();\n }\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error("Malformed urlencoded form"));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n "field",\n this._key,\n this._val,\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n cb();\n }\n };\n __name(URLEncoded, "URLEncoded");\n function readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n if (self._byte === -1) {\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n if (hexUpper >= 8)\n self._encode = 2;\n if (pos < len) {\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n self._byte = -2;\n self._lastPos = pos;\n } else {\n self._byte = hexUpper;\n }\n } else {\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n self._byte = -2;\n self._lastPos = pos;\n }\n return pos;\n }\n __name(readPctEnc, "readPctEnc");\n function skipKeyBytes(self, chunk, pos, len) {\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61 || code === 38)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n return pos;\n }\n __name(skipKeyBytes, "skipKeyBytes");\n function skipValBytes(self, chunk, pos, len) {\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n return pos;\n }\n __name(skipValBytes, "skipValBytes");\n var HEX_VALUES = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ];\n module2.exports = URLEncoded;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js\nvar require_lib = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { parseContentType } = require_utils();\n function getInstance(cfg) {\n const headers = cfg.headers;\n const conType = parseContentType(headers["content-type"]);\n if (!conType)\n throw new Error("Malformed content type");\n for (const type of TYPES) {\n const matched = type.detect(conType);\n if (!matched)\n continue;\n const instanceCfg = {\n limits: cfg.limits,\n headers,\n conType,\n highWaterMark: void 0,\n fileHwm: void 0,\n defCharset: void 0,\n defParamCharset: void 0,\n preservePath: false\n };\n if (cfg.highWaterMark)\n instanceCfg.highWaterMark = cfg.highWaterMark;\n if (cfg.fileHwm)\n instanceCfg.fileHwm = cfg.fileHwm;\n instanceCfg.defCharset = cfg.defCharset;\n instanceCfg.defParamCharset = cfg.defParamCharset;\n instanceCfg.preservePath = cfg.preservePath;\n return new type(instanceCfg);\n }\n throw new Error(`Unsupported content type: ${headers["content-type"]}`);\n }\n __name(getInstance, "getInstance");\n var TYPES = [\n require_multipart(),\n require_urlencoded()\n ].filter(function(typemod) {\n return typeof typemod.detect === "function";\n });\n module2.exports = (cfg) => {\n if (typeof cfg !== "object" || cfg === null)\n cfg = {};\n if (typeof cfg.headers !== "object" || cfg.headers === null || typeof cfg.headers["content-type"] !== "string") {\n throw new Error("Missing Content-Type");\n }\n return getInstance(cfg);\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/dataURL.js\nvar require_dataURL = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/dataURL.js"(exports, module2) {\n init_define_process();\n var assert = require("assert");\n var { atob: atob2 } = require("buffer");\n var { isomorphicDecode } = require_util2();\n var encoder = new TextEncoder();\n var HTTP_TOKEN_CODEPOINTS = /^[!#$%&\'*+-.^_|~A-Za-z0-9]+$/;\n var HTTP_WHITESPACE_REGEX = /(\\u000A|\\u000D|\\u0009|\\u0020)/;\n var HTTP_QUOTED_STRING_TOKENS = /[\\u0009|\\u0020-\\u007E|\\u0080-\\u00FF]/;\n function dataURLProcessor(dataURL) {\n assert(dataURL.protocol === "data:");\n let input = URLSerializer(dataURL, true);\n input = input.slice(5);\n const position = { position: 0 };\n let mimeType = collectASequenceOfCodePointsFast(\n ",",\n input,\n position\n );\n const mimeTypeLength = mimeType.length;\n mimeType = removeASCIIWhitespace(mimeType, true, true);\n if (position.position >= input.length) {\n return "failure";\n }\n position.position++;\n const encodedBody = input.slice(mimeTypeLength + 1);\n let body = stringPercentDecode(encodedBody);\n if (/;(\\u0020){0,}base64$/i.test(mimeType)) {\n const stringBody = isomorphicDecode(body);\n body = forgivingBase64(stringBody);\n if (body === "failure") {\n return "failure";\n }\n mimeType = mimeType.slice(0, -6);\n mimeType = mimeType.replace(/(\\u0020)+$/, "");\n mimeType = mimeType.slice(0, -1);\n }\n if (mimeType.startsWith(";")) {\n mimeType = "text/plain" + mimeType;\n }\n let mimeTypeRecord = parseMIMEType(mimeType);\n if (mimeTypeRecord === "failure") {\n mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");\n }\n return { mimeType: mimeTypeRecord, body };\n }\n __name(dataURLProcessor, "dataURLProcessor");\n function URLSerializer(url, excludeFragment = false) {\n const href = url.href;\n if (!excludeFragment) {\n return href;\n }\n const hash = href.lastIndexOf("#");\n if (hash === -1) {\n return href;\n }\n return href.slice(0, hash);\n }\n __name(URLSerializer, "URLSerializer");\n function collectASequenceOfCodePoints(condition, input, position) {\n let result = "";\n while (position.position < input.length && condition(input[position.position])) {\n result += input[position.position];\n position.position++;\n }\n return result;\n }\n __name(collectASequenceOfCodePoints, "collectASequenceOfCodePoints");\n function collectASequenceOfCodePointsFast(char, input, position) {\n const idx = input.indexOf(char, position.position);\n const start = position.position;\n if (idx === -1) {\n position.position = input.length;\n return input.slice(start);\n }\n position.position = idx;\n return input.slice(start, position.position);\n }\n __name(collectASequenceOfCodePointsFast, "collectASequenceOfCodePointsFast");\n function stringPercentDecode(input) {\n const bytes = encoder.encode(input);\n return percentDecode(bytes);\n }\n __name(stringPercentDecode, "stringPercentDecode");\n function percentDecode(input) {\n const output = [];\n for (let i = 0; i < input.length; i++) {\n const byte = input[i];\n if (byte !== 37) {\n output.push(byte);\n } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {\n output.push(37);\n } else {\n const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);\n const bytePoint = Number.parseInt(nextTwoBytes, 16);\n output.push(bytePoint);\n i += 2;\n }\n }\n return Uint8Array.from(output);\n }\n __name(percentDecode, "percentDecode");\n function parseMIMEType(input) {\n input = removeHTTPWhitespace(input, true, true);\n const position = { position: 0 };\n const type = collectASequenceOfCodePointsFast(\n "/",\n input,\n position\n );\n if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {\n return "failure";\n }\n if (position.position > input.length) {\n return "failure";\n }\n position.position++;\n let subtype = collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n subtype = removeHTTPWhitespace(subtype, false, true);\n if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {\n return "failure";\n }\n const typeLowercase = type.toLowerCase();\n const subtypeLowercase = subtype.toLowerCase();\n const mimeType = {\n type: typeLowercase,\n subtype: subtypeLowercase,\n /** @type {Map} */\n parameters: /* @__PURE__ */ new Map(),\n // https://mimesniff.spec.whatwg.org/#mime-type-essence\n essence: `${typeLowercase}/${subtypeLowercase}`\n };\n while (position.position < input.length) {\n position.position++;\n collectASequenceOfCodePoints(\n // https://fetch.spec.whatwg.org/#http-whitespace\n (char) => HTTP_WHITESPACE_REGEX.test(char),\n input,\n position\n );\n let parameterName = collectASequenceOfCodePoints(\n (char) => char !== ";" && char !== "=",\n input,\n position\n );\n parameterName = parameterName.toLowerCase();\n if (position.position < input.length) {\n if (input[position.position] === ";") {\n continue;\n }\n position.position++;\n }\n if (position.position > input.length) {\n break;\n }\n let parameterValue = null;\n if (input[position.position] === \'"\') {\n parameterValue = collectAnHTTPQuotedString(input, position, true);\n collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n } else {\n parameterValue = collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n parameterValue = removeHTTPWhitespace(parameterValue, false, true);\n if (parameterValue.length === 0) {\n continue;\n }\n }\n if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {\n mimeType.parameters.set(parameterName, parameterValue);\n }\n }\n return mimeType;\n }\n __name(parseMIMEType, "parseMIMEType");\n function forgivingBase64(data) {\n data = data.replace(/[\\u0009\\u000A\\u000C\\u000D\\u0020]/g, "");\n if (data.length % 4 === 0) {\n data = data.replace(/=?=$/, "");\n }\n if (data.length % 4 === 1) {\n return "failure";\n }\n if (/[^+/0-9A-Za-z]/.test(data)) {\n return "failure";\n }\n const binary = atob2(data);\n const bytes = new Uint8Array(binary.length);\n for (let byte = 0; byte < binary.length; byte++) {\n bytes[byte] = binary.charCodeAt(byte);\n }\n return bytes;\n }\n __name(forgivingBase64, "forgivingBase64");\n function collectAnHTTPQuotedString(input, position, extractValue) {\n const positionStart = position.position;\n let value = "";\n assert(input[position.position] === \'"\');\n position.position++;\n while (true) {\n value += collectASequenceOfCodePoints(\n (char) => char !== \'"\' && char !== "\\\\",\n input,\n position\n );\n if (position.position >= input.length) {\n break;\n }\n const quoteOrBackslash = input[position.position];\n position.position++;\n if (quoteOrBackslash === "\\\\") {\n if (position.position >= input.length) {\n value += "\\\\";\n break;\n }\n value += input[position.position];\n position.position++;\n } else {\n assert(quoteOrBackslash === \'"\');\n break;\n }\n }\n if (extractValue) {\n return value;\n }\n return input.slice(positionStart, position.position);\n }\n __name(collectAnHTTPQuotedString, "collectAnHTTPQuotedString");\n function serializeAMimeType(mimeType) {\n assert(mimeType !== "failure");\n const { parameters, essence } = mimeType;\n let serialization = essence;\n for (let [name, value] of parameters.entries()) {\n serialization += ";";\n serialization += name;\n serialization += "=";\n if (!HTTP_TOKEN_CODEPOINTS.test(value)) {\n value = value.replace(/(\\\\|")/g, "\\\\$1");\n value = \'"\' + value;\n value += \'"\';\n }\n serialization += value;\n }\n return serialization;\n }\n __name(serializeAMimeType, "serializeAMimeType");\n function isHTTPWhiteSpace(char) {\n return char === "\\r" || char === "\\n" || char === "\t" || char === " ";\n }\n __name(isHTTPWhiteSpace, "isHTTPWhiteSpace");\n function removeHTTPWhitespace(str, leading = true, trailing = true) {\n let lead = 0;\n let trail = str.length - 1;\n if (leading) {\n for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++)\n ;\n }\n if (trailing) {\n for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--)\n ;\n }\n return str.slice(lead, trail + 1);\n }\n __name(removeHTTPWhitespace, "removeHTTPWhitespace");\n function isASCIIWhitespace(char) {\n return char === "\\r" || char === "\\n" || char === "\t" || char === "\\f" || char === " ";\n }\n __name(isASCIIWhitespace, "isASCIIWhitespace");\n function removeASCIIWhitespace(str, leading = true, trailing = true) {\n let lead = 0;\n let trail = str.length - 1;\n if (leading) {\n for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++)\n ;\n }\n if (trailing) {\n for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--)\n ;\n }\n return str.slice(lead, trail + 1);\n }\n __name(removeASCIIWhitespace, "removeASCIIWhitespace");\n module2.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/file.js\nvar require_file = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/file.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var { types } = require("util");\n var { kState } = require_symbols();\n var { isBlobLike } = require_util2();\n var { webidl } = require_webidl();\n var { parseMIMEType, serializeAMimeType } = require_dataURL();\n var { kEnumerableProperty } = require_util();\n var File2 = class extends Blob2 {\n constructor(fileBits, fileName, options = {}) {\n webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });\n fileBits = webidl.converters["sequence"](fileBits);\n fileName = webidl.converters.USVString(fileName);\n options = webidl.converters.FilePropertyBag(options);\n const n = fileName;\n let t = options.type;\n let d;\n substep: {\n if (t) {\n t = parseMIMEType(t);\n if (t === "failure") {\n t = "";\n break substep;\n }\n t = serializeAMimeType(t).toLowerCase();\n }\n d = options.lastModified;\n }\n super(processBlobParts(fileBits, options), { type: t });\n this[kState] = {\n name: n,\n lastModified: d,\n type: t\n };\n }\n get name() {\n webidl.brandCheck(this, File2);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, File2);\n return this[kState].lastModified;\n }\n get type() {\n webidl.brandCheck(this, File2);\n return this[kState].type;\n }\n };\n __name(File2, "File");\n var FileLike = class {\n constructor(blobLike, fileName, options = {}) {\n const n = fileName;\n const t = options.type;\n const d = options.lastModified ?? Date.now();\n this[kState] = {\n blobLike,\n name: n,\n type: t,\n lastModified: d\n };\n }\n stream(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.stream(...args);\n }\n arrayBuffer(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.arrayBuffer(...args);\n }\n slice(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.slice(...args);\n }\n text(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.text(...args);\n }\n get size() {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.size;\n }\n get type() {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.type;\n }\n get name() {\n webidl.brandCheck(this, FileLike);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, FileLike);\n return this[kState].lastModified;\n }\n get [Symbol.toStringTag]() {\n return "File";\n }\n };\n __name(FileLike, "FileLike");\n Object.defineProperties(File2.prototype, {\n [Symbol.toStringTag]: {\n value: "File",\n configurable: true\n },\n name: kEnumerableProperty,\n lastModified: kEnumerableProperty\n });\n webidl.converters.Blob = webidl.interfaceConverter(Blob2);\n webidl.converters.BlobPart = function(V, opts) {\n if (webidl.util.Type(V) === "Object") {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V, opts);\n }\n }\n return webidl.converters.USVString(V, opts);\n };\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.BlobPart\n );\n webidl.converters.FilePropertyBag = webidl.dictionaryConverter([\n {\n key: "lastModified",\n converter: webidl.converters["long long"],\n get defaultValue() {\n return Date.now();\n }\n },\n {\n key: "type",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "endings",\n converter: (value) => {\n value = webidl.converters.DOMString(value);\n value = value.toLowerCase();\n if (value !== "native") {\n value = "transparent";\n }\n return value;\n },\n defaultValue: "transparent"\n }\n ]);\n function processBlobParts(parts, options) {\n const bytes = [];\n for (const element of parts) {\n if (typeof element === "string") {\n let s = element;\n if (options.endings === "native") {\n s = convertLineEndingsNative(s);\n }\n bytes.push(new TextEncoder().encode(s));\n } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {\n if (!element.buffer) {\n bytes.push(new Uint8Array(element));\n } else {\n bytes.push(\n new Uint8Array(element.buffer, element.byteOffset, element.byteLength)\n );\n }\n } else if (isBlobLike(element)) {\n bytes.push(element);\n }\n }\n return bytes;\n }\n __name(processBlobParts, "processBlobParts");\n function convertLineEndingsNative(s) {\n let nativeLineEnding = "\\n";\n if (define_process_default.platform === "win32") {\n nativeLineEnding = "\\r\\n";\n }\n return s.replace(/\\r?\\n/g, nativeLineEnding);\n }\n __name(convertLineEndingsNative, "convertLineEndingsNative");\n function isFileLike(object) {\n return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";\n }\n __name(isFileLike, "isFileLike");\n module2.exports = { File: File2, FileLike, isFileLike };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/formdata.js\nvar require_formdata = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/formdata.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { isBlobLike, toUSVString, makeIterator } = require_util2();\n var { kState } = require_symbols();\n var { File: UndiciFile, FileLike, isFileLike } = require_file();\n var { webidl } = require_webidl();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var File2 = NativeFile ?? UndiciFile;\n var FormData2 = class {\n constructor(form) {\n if (form !== void 0) {\n throw webidl.errors.conversionFailed({\n prefix: "FormData constructor",\n argument: "Argument 1",\n types: ["undefined"]\n });\n }\n this[kState] = [];\n }\n append(name, value, filename = void 0) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n "Failed to execute \'append\' on \'FormData\': parameter 2 is not of type \'Blob\'"\n );\n }\n name = webidl.converters.USVString(name);\n value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);\n filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;\n const entry = makeEntry(name, value, filename);\n this[kState].push(entry);\n }\n delete(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });\n name = webidl.converters.USVString(name);\n this[kState] = this[kState].filter((entry) => entry.name !== name);\n }\n get(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });\n name = webidl.converters.USVString(name);\n const idx = this[kState].findIndex((entry) => entry.name === name);\n if (idx === -1) {\n return null;\n }\n return this[kState][idx].value;\n }\n getAll(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });\n name = webidl.converters.USVString(name);\n return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);\n }\n has(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });\n name = webidl.converters.USVString(name);\n return this[kState].findIndex((entry) => entry.name === name) !== -1;\n }\n set(name, value, filename = void 0) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n "Failed to execute \'set\' on \'FormData\': parameter 2 is not of type \'Blob\'"\n );\n }\n name = webidl.converters.USVString(name);\n value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);\n filename = arguments.length === 3 ? toUSVString(filename) : void 0;\n const entry = makeEntry(name, value, filename);\n const idx = this[kState].findIndex((entry2) => entry2.name === name);\n if (idx !== -1) {\n this[kState] = [\n ...this[kState].slice(0, idx),\n entry,\n ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)\n ];\n } else {\n this[kState].push(entry);\n }\n }\n entries() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "key+value"\n );\n }\n keys() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "value"\n );\n }\n /**\n * @param {(value: string, key: string, self: FormData) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach(callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });\n if (typeof callbackFn !== "function") {\n throw new TypeError(\n "Failed to execute \'forEach\' on \'FormData\': parameter 1 is not of type \'Function\'."\n );\n }\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this]);\n }\n }\n };\n __name(FormData2, "FormData");\n FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;\n Object.defineProperties(FormData2.prototype, {\n [Symbol.toStringTag]: {\n value: "FormData",\n configurable: true\n }\n });\n function makeEntry(name, value, filename) {\n name = Buffer.from(name).toString("utf8");\n if (typeof value === "string") {\n value = Buffer.from(value).toString("utf8");\n } else {\n if (!isFileLike(value)) {\n value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });\n }\n if (filename !== void 0) {\n const options = {\n type: value.type,\n lastModified: value.lastModified\n };\n value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);\n }\n }\n return { name, value };\n }\n __name(makeEntry, "makeEntry");\n module2.exports = { FormData: FormData2 };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/body.js\nvar require_body = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/body.js"(exports, module2) {\n "use strict";\n init_define_process();\n var Busboy = require_lib();\n var util = require_util();\n var {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody\n } = require_util2();\n var { FormData: FormData2 } = require_formdata();\n var { kState } = require_symbols();\n var { webidl } = require_webidl();\n var { DOMException, structuredClone } = require_constants();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var { kBodyUsed } = require_symbols2();\n var assert = require("assert");\n var { isErrored } = require_util();\n var { isUint8Array, isArrayBuffer } = require_util_types();\n var { File: UndiciFile } = require_file();\n var { parseMIMEType, serializeAMimeType } = require_dataURL();\n var ReadableStream = globalThis.ReadableStream;\n var File2 = NativeFile ?? UndiciFile;\n function extractBody(object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n let stream = null;\n if (object instanceof ReadableStream) {\n stream = object;\n } else if (isBlobLike(object)) {\n stream = object.stream();\n } else {\n stream = new ReadableStream({\n async pull(controller) {\n controller.enqueue(\n typeof source === "string" ? new TextEncoder().encode(source) : source\n );\n queueMicrotask(() => readableStreamClose(controller));\n },\n start() {\n },\n type: void 0\n });\n }\n assert(isReadableStreamLike(stream));\n let action = null;\n let source = null;\n let length = null;\n let type = null;\n if (typeof object === "string") {\n source = object;\n type = "text/plain;charset=UTF-8";\n } else if (object instanceof URLSearchParams) {\n source = object.toString();\n type = "application/x-www-form-urlencoded;charset=UTF-8";\n } else if (isArrayBuffer(object)) {\n source = new Uint8Array(object.slice());\n } else if (ArrayBuffer.isView(object)) {\n source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));\n } else if (util.isFormDataLike(object)) {\n const boundary = `----formdata-undici-${Math.random()}`.replace(".", "").slice(0, 32);\n const prefix = `--${boundary}\\r\nContent-Disposition: form-data`;\n const escape = /* @__PURE__ */ __name((str) => str.replace(/\\n/g, "%0A").replace(/\\r/g, "%0D").replace(/"/g, "%22"), "escape");\n const normalizeLinefeeds = /* @__PURE__ */ __name((value) => value.replace(/\\r?\\n|\\r/g, "\\r\\n"), "normalizeLinefeeds");\n const enc = new TextEncoder();\n const blobParts = [];\n const rn = new Uint8Array([13, 10]);\n length = 0;\n let hasUnknownSizeValue = false;\n for (const [name, value] of object) {\n if (typeof value === "string") {\n const chunk2 = enc.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\\r\n\\r\n${normalizeLinefeeds(value)}\\r\n`);\n blobParts.push(chunk2);\n length += chunk2.byteLength;\n } else {\n const chunk2 = enc.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\\r\nContent-Type: ${value.type || "application/octet-stream"}\\r\n\\r\n`);\n blobParts.push(chunk2, value, rn);\n if (typeof value.size === "number") {\n length += chunk2.byteLength + value.size + rn.byteLength;\n } else {\n hasUnknownSizeValue = true;\n }\n }\n }\n const chunk = enc.encode(`--${boundary}--`);\n blobParts.push(chunk);\n length += chunk.byteLength;\n if (hasUnknownSizeValue) {\n length = null;\n }\n source = object;\n action = /* @__PURE__ */ __name(async function* () {\n for (const part of blobParts) {\n if (part.stream) {\n yield* part.stream();\n } else {\n yield part;\n }\n }\n }, "action");\n type = "multipart/form-data; boundary=" + boundary;\n } else if (isBlobLike(object)) {\n source = object;\n length = object.size;\n if (object.type) {\n type = object.type;\n }\n } else if (typeof object[Symbol.asyncIterator] === "function") {\n if (keepalive) {\n throw new TypeError("keepalive");\n }\n if (util.isDisturbed(object) || object.locked) {\n throw new TypeError(\n "Response body object should not be disturbed or locked"\n );\n }\n stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);\n }\n if (typeof source === "string" || util.isBuffer(source)) {\n length = Buffer.byteLength(source);\n }\n if (action != null) {\n let iterator;\n stream = new ReadableStream({\n async start() {\n iterator = action(object)[Symbol.asyncIterator]();\n },\n async pull(controller) {\n const { value, done } = await iterator.next();\n if (done) {\n queueMicrotask(() => {\n controller.close();\n });\n } else {\n if (!isErrored(stream)) {\n controller.enqueue(new Uint8Array(value));\n }\n }\n return controller.desiredSize > 0;\n },\n async cancel(reason) {\n await iterator.return();\n },\n type: void 0\n });\n }\n const body = { stream, source, length };\n return [body, type];\n }\n __name(extractBody, "extractBody");\n function safelyExtractBody(object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n if (object instanceof ReadableStream) {\n assert(!util.isDisturbed(object), "The body has already been consumed.");\n assert(!object.locked, "The stream is locked.");\n }\n return extractBody(object, keepalive);\n }\n __name(safelyExtractBody, "safelyExtractBody");\n function cloneBody(body) {\n const [out1, out2] = body.stream.tee();\n const out2Clone = structuredClone(out2, { transfer: [out2] });\n const [, finalClone] = out2Clone.tee();\n body.stream = out1;\n return {\n stream: finalClone,\n length: body.length,\n source: body.source\n };\n }\n __name(cloneBody, "cloneBody");\n async function* consumeBody(body) {\n if (body) {\n if (isUint8Array(body)) {\n yield body;\n } else {\n const stream = body.stream;\n if (util.isDisturbed(stream)) {\n throw new TypeError("The body has already been consumed.");\n }\n if (stream.locked) {\n throw new TypeError("The stream is locked.");\n }\n stream[kBodyUsed] = true;\n yield* stream;\n }\n }\n }\n __name(consumeBody, "consumeBody");\n function throwIfAborted(state) {\n if (state.aborted) {\n throw new DOMException("The operation was aborted.", "AbortError");\n }\n }\n __name(throwIfAborted, "throwIfAborted");\n function bodyMixinMethods(instance) {\n const methods = {\n blob() {\n return specConsumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this);\n if (mimeType === "failure") {\n mimeType = "";\n } else if (mimeType) {\n mimeType = serializeAMimeType(mimeType);\n }\n return new Blob2([bytes], { type: mimeType });\n }, instance);\n },\n arrayBuffer() {\n return specConsumeBody(this, (bytes) => {\n return new Uint8Array(bytes).buffer;\n }, instance);\n },\n text() {\n return specConsumeBody(this, utf8DecodeBytes, instance);\n },\n json() {\n return specConsumeBody(this, parseJSONFromBytes, instance);\n },\n async formData() {\n webidl.brandCheck(this, instance);\n throwIfAborted(this[kState]);\n const contentType = this.headers.get("Content-Type");\n if (/multipart\\/form-data/.test(contentType)) {\n const headers = {};\n for (const [key, value] of this.headers)\n headers[key.toLowerCase()] = value;\n const responseFormData = new FormData2();\n let busboy;\n try {\n busboy = Busboy({\n headers,\n defParamCharset: "utf8"\n });\n } catch (err) {\n throw new DOMException(`${err}`, "AbortError");\n }\n busboy.on("field", (name, value) => {\n responseFormData.append(name, value);\n });\n busboy.on("file", (name, value, info) => {\n const { filename, encoding, mimeType } = info;\n const chunks = [];\n if (encoding === "base64" || encoding.toLowerCase() === "base64") {\n let base64chunk = "";\n value.on("data", (chunk) => {\n base64chunk += chunk.toString().replace(/[\\r\\n]/gm, "");\n const end = base64chunk.length - base64chunk.length % 4;\n chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));\n base64chunk = base64chunk.slice(end);\n });\n value.on("end", () => {\n chunks.push(Buffer.from(base64chunk, "base64"));\n responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));\n });\n } else {\n value.on("data", (chunk) => {\n chunks.push(chunk);\n });\n value.on("end", () => {\n responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));\n });\n }\n });\n const busboyResolve = new Promise((resolve, reject) => {\n busboy.on("finish", resolve);\n busboy.on("error", (err) => reject(new TypeError(err)));\n });\n if (this.body !== null)\n for await (const chunk of consumeBody(this[kState].body))\n busboy.write(chunk);\n busboy.end();\n await busboyResolve;\n return responseFormData;\n } else if (/application\\/x-www-form-urlencoded/.test(contentType)) {\n let entries;\n try {\n let text = "";\n const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true });\n for await (const chunk of consumeBody(this[kState].body)) {\n if (!isUint8Array(chunk)) {\n throw new TypeError("Expected Uint8Array chunk");\n }\n text += textDecoder.decode(chunk, { stream: true });\n }\n text += textDecoder.decode();\n entries = new URLSearchParams(text);\n } catch (err) {\n throw Object.assign(new TypeError(), { cause: err });\n }\n const formData = new FormData2();\n for (const [name, value] of entries) {\n formData.append(name, value);\n }\n return formData;\n } else {\n await Promise.resolve();\n throwIfAborted(this[kState]);\n throw webidl.errors.exception({\n header: `${instance.name}.formData`,\n message: "Could not parse content as FormData."\n });\n }\n }\n };\n return methods;\n }\n __name(bodyMixinMethods, "bodyMixinMethods");\n function mixinBody(prototype) {\n Object.assign(prototype.prototype, bodyMixinMethods(prototype));\n }\n __name(mixinBody, "mixinBody");\n async function specConsumeBody(object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance);\n throwIfAborted(object[kState]);\n if (bodyUnusable(object[kState].body)) {\n throw new TypeError("Body is unusable");\n }\n const promise = createDeferredPromise();\n const errorSteps = /* @__PURE__ */ __name((error) => promise.reject(error), "errorSteps");\n const successSteps = /* @__PURE__ */ __name((data) => {\n try {\n promise.resolve(convertBytesToJSValue(data));\n } catch (e) {\n errorSteps(e);\n }\n }, "successSteps");\n if (object[kState].body == null) {\n successSteps(new Uint8Array());\n return promise.promise;\n }\n fullyReadBody(object[kState].body, successSteps, errorSteps);\n return promise.promise;\n }\n __name(specConsumeBody, "specConsumeBody");\n function bodyUnusable(body) {\n return body != null && (body.stream.locked || util.isDisturbed(body.stream));\n }\n __name(bodyUnusable, "bodyUnusable");\n function utf8DecodeBytes(buffer) {\n if (buffer.length === 0) {\n return "";\n }\n if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {\n buffer = buffer.subarray(3);\n }\n const output = new TextDecoder().decode(buffer);\n return output;\n }\n __name(utf8DecodeBytes, "utf8DecodeBytes");\n function parseJSONFromBytes(bytes) {\n return JSON.parse(utf8DecodeBytes(bytes));\n }\n __name(parseJSONFromBytes, "parseJSONFromBytes");\n function bodyMimeType(object) {\n const { headersList } = object[kState];\n const contentType = headersList.get("content-type");\n if (contentType === null) {\n return "failure";\n }\n return parseMIMEType(contentType);\n }\n __name(bodyMimeType, "bodyMimeType");\n module2.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/response.js\nvar require_response = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/response.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Headers: Headers3, HeadersList, fill } = require_headers();\n var { extractBody, cloneBody, mixinBody } = require_body();\n var util = require_util();\n var { kEnumerableProperty } = util;\n var {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode\n } = require_util2();\n var {\n redirectStatus,\n nullBodyStatus,\n DOMException\n } = require_constants();\n var { kState, kHeaders: kHeaders2, kGuard: kGuard2, kRealm } = require_symbols();\n var { webidl } = require_webidl();\n var { FormData: FormData2 } = require_formdata();\n var { getGlobalOrigin } = require_global();\n var { URLSerializer } = require_dataURL();\n var { kHeadersList } = require_symbols2();\n var assert = require("assert");\n var { types } = require("util");\n var ReadableStream = globalThis.ReadableStream || require("./streams").ReadableStream;\n var Response3 = class {\n // Creates network error Response.\n static error() {\n const relevantRealm = { settingsObject: {} };\n const responseObject = new Response3();\n responseObject[kState] = makeNetworkError();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kHeadersList] = responseObject[kState].headersList;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n return responseObject;\n }\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json(data = void 0, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });\n if (init !== null) {\n init = webidl.converters.ResponseInit(init);\n }\n const bytes = new TextEncoder("utf-8").encode(\n serializeJavascriptValueToJSONString(data)\n );\n const body = extractBody(bytes);\n const relevantRealm = { settingsObject: {} };\n const responseObject = new Response3();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kGuard2] = "response";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n initializeResponse(responseObject, init, { body: body[0], type: "application/json" });\n return responseObject;\n }\n // Creates a redirect Response that redirects to url with status status.\n static redirect(url, status = 302) {\n const relevantRealm = { settingsObject: {} };\n webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });\n url = webidl.converters.USVString(url);\n status = webidl.converters["unsigned short"](status);\n let parsedURL;\n try {\n parsedURL = new URL(url, getGlobalOrigin());\n } catch (err) {\n throw Object.assign(new TypeError("Failed to parse URL from " + url), {\n cause: err\n });\n }\n if (!redirectStatus.includes(status)) {\n throw new RangeError("Invalid status code " + status);\n }\n const responseObject = new Response3();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n responseObject[kState].status = status;\n const value = isomorphicEncode(URLSerializer(parsedURL));\n responseObject[kState].headersList.append("location", value);\n return responseObject;\n }\n // https://fetch.spec.whatwg.org/#dom-response\n constructor(body = null, init = {}) {\n if (body !== null) {\n body = webidl.converters.BodyInit(body);\n }\n init = webidl.converters.ResponseInit(init);\n this[kRealm] = { settingsObject: {} };\n this[kState] = makeResponse({});\n this[kHeaders2] = new Headers3();\n this[kHeaders2][kGuard2] = "response";\n this[kHeaders2][kHeadersList] = this[kState].headersList;\n this[kHeaders2][kRealm] = this[kRealm];\n let bodyWithType = null;\n if (body != null) {\n const [extractedBody, type] = extractBody(body);\n bodyWithType = { body: extractedBody, type };\n }\n initializeResponse(this, init, bodyWithType);\n }\n // Returns response’s type, e.g., "cors".\n get type() {\n webidl.brandCheck(this, Response3);\n return this[kState].type;\n }\n // Returns response’s URL, if it has one; otherwise the empty string.\n get url() {\n webidl.brandCheck(this, Response3);\n const urlList = this[kState].urlList;\n const url = urlList[urlList.length - 1] ?? null;\n if (url === null) {\n return "";\n }\n return URLSerializer(url, true);\n }\n // Returns whether response was obtained through a redirect.\n get redirected() {\n webidl.brandCheck(this, Response3);\n return this[kState].urlList.length > 1;\n }\n // Returns response’s status.\n get status() {\n webidl.brandCheck(this, Response3);\n return this[kState].status;\n }\n // Returns whether response’s status is an ok status.\n get ok() {\n webidl.brandCheck(this, Response3);\n return this[kState].status >= 200 && this[kState].status <= 299;\n }\n // Returns response’s status message.\n get statusText() {\n webidl.brandCheck(this, Response3);\n return this[kState].statusText;\n }\n // Returns response’s headers as Headers.\n get headers() {\n webidl.brandCheck(this, Response3);\n return this[kHeaders2];\n }\n get body() {\n webidl.brandCheck(this, Response3);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, Response3);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n // Returns a clone of response.\n clone() {\n webidl.brandCheck(this, Response3);\n if (this.bodyUsed || this.body && this.body.locked) {\n throw webidl.errors.exception({\n header: "Response.clone",\n message: "Body has already been consumed."\n });\n }\n const clonedResponse = cloneResponse(this[kState]);\n const clonedResponseObject = new Response3();\n clonedResponseObject[kState] = clonedResponse;\n clonedResponseObject[kRealm] = this[kRealm];\n clonedResponseObject[kHeaders2][kHeadersList] = clonedResponse.headersList;\n clonedResponseObject[kHeaders2][kGuard2] = this[kHeaders2][kGuard2];\n clonedResponseObject[kHeaders2][kRealm] = this[kHeaders2][kRealm];\n return clonedResponseObject;\n }\n };\n __name(Response3, "Response");\n mixinBody(Response3);\n Object.defineProperties(Response3.prototype, {\n type: kEnumerableProperty,\n url: kEnumerableProperty,\n status: kEnumerableProperty,\n ok: kEnumerableProperty,\n redirected: kEnumerableProperty,\n statusText: kEnumerableProperty,\n headers: kEnumerableProperty,\n clone: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "Response",\n configurable: true\n }\n });\n Object.defineProperties(Response3, {\n json: kEnumerableProperty,\n redirect: kEnumerableProperty,\n error: kEnumerableProperty\n });\n function cloneResponse(response) {\n if (response.internalResponse) {\n return filterResponse(\n cloneResponse(response.internalResponse),\n response.type\n );\n }\n const newResponse = makeResponse({ ...response, body: null });\n if (response.body != null) {\n newResponse.body = cloneBody(response.body);\n }\n return newResponse;\n }\n __name(cloneResponse, "cloneResponse");\n function makeResponse(init) {\n return {\n aborted: false,\n rangeRequested: false,\n timingAllowPassed: false,\n requestIncludesCredentials: false,\n type: "default",\n status: 200,\n timingInfo: null,\n cacheState: "",\n statusText: "",\n ...init,\n headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),\n urlList: init.urlList ? [...init.urlList] : []\n };\n }\n __name(makeResponse, "makeResponse");\n function makeNetworkError(reason) {\n const isError = isErrorLike(reason);\n return makeResponse({\n type: "error",\n status: 0,\n error: isError ? reason : new Error(reason ? String(reason) : reason),\n aborted: reason && reason.name === "AbortError"\n });\n }\n __name(makeNetworkError, "makeNetworkError");\n function makeFilteredResponse(response, state) {\n state = {\n internalResponse: response,\n ...state\n };\n return new Proxy(response, {\n get(target, p) {\n return p in state ? state[p] : target[p];\n },\n set(target, p, value) {\n assert(!(p in state));\n target[p] = value;\n return true;\n }\n });\n }\n __name(makeFilteredResponse, "makeFilteredResponse");\n function filterResponse(response, type) {\n if (type === "basic") {\n return makeFilteredResponse(response, {\n type: "basic",\n headersList: response.headersList\n });\n } else if (type === "cors") {\n return makeFilteredResponse(response, {\n type: "cors",\n headersList: response.headersList\n });\n } else if (type === "opaque") {\n return makeFilteredResponse(response, {\n type: "opaque",\n urlList: Object.freeze([]),\n status: 0,\n statusText: "",\n body: null\n });\n } else if (type === "opaqueredirect") {\n return makeFilteredResponse(response, {\n type: "opaqueredirect",\n status: 0,\n statusText: "",\n headersList: [],\n body: null\n });\n } else {\n assert(false);\n }\n }\n __name(filterResponse, "filterResponse");\n function makeAppropriateNetworkError(fetchParams) {\n assert(isCancelled(fetchParams));\n return isAborted(fetchParams) ? makeNetworkError(new DOMException("The operation was aborted.", "AbortError")) : makeNetworkError("Request was cancelled.");\n }\n __name(makeAppropriateNetworkError, "makeAppropriateNetworkError");\n function initializeResponse(response, init, body) {\n if (init.status !== null && (init.status < 200 || init.status > 599)) {\n throw new RangeError(\'init["status"] must be in the range of 200 to 599, inclusive.\');\n }\n if ("statusText" in init && init.statusText != null) {\n if (!isValidReasonPhrase(String(init.statusText))) {\n throw new TypeError("Invalid statusText");\n }\n }\n if ("status" in init && init.status != null) {\n response[kState].status = init.status;\n }\n if ("statusText" in init && init.statusText != null) {\n response[kState].statusText = init.statusText;\n }\n if ("headers" in init && init.headers != null) {\n fill(response[kHeaders2], init.headers);\n }\n if (body) {\n if (nullBodyStatus.includes(response.status)) {\n throw webidl.errors.exception({\n header: "Response constructor",\n message: "Invalid response status code " + response.status\n });\n }\n response[kState].body = body.body;\n if (body.type != null && !response[kState].headersList.contains("Content-Type")) {\n response[kState].headersList.append("content-type", body.type);\n }\n }\n }\n __name(initializeResponse, "initializeResponse");\n webidl.converters.ReadableStream = webidl.interfaceConverter(\n ReadableStream\n );\n webidl.converters.FormData = webidl.interfaceConverter(\n FormData2\n );\n webidl.converters.URLSearchParams = webidl.interfaceConverter(\n URLSearchParams\n );\n webidl.converters.XMLHttpRequestBodyInit = function(V) {\n if (typeof V === "string") {\n return webidl.converters.USVString(V);\n }\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (types.isAnyArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {\n return webidl.converters.BufferSource(V);\n }\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, { strict: false });\n }\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V);\n }\n return webidl.converters.DOMString(V);\n };\n webidl.converters.BodyInit = function(V) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V);\n }\n if (V == null ? void 0 : V[Symbol.asyncIterator]) {\n return V;\n }\n return webidl.converters.XMLHttpRequestBodyInit(V);\n };\n webidl.converters.ResponseInit = webidl.dictionaryConverter([\n {\n key: "status",\n converter: webidl.converters["unsigned short"],\n defaultValue: 200\n },\n {\n key: "statusText",\n converter: webidl.converters.ByteString,\n defaultValue: ""\n },\n {\n key: "headers",\n converter: webidl.converters.HeadersInit\n }\n ]);\n module2.exports = {\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response: Response3,\n cloneResponse\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/compat/dispatcher-weakref.js\nvar require_dispatcher_weakref = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kConnected, kSize } = require_symbols2();\n var CompatWeakRef = class {\n constructor(value) {\n this.value = value;\n }\n deref() {\n return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;\n }\n };\n __name(CompatWeakRef, "CompatWeakRef");\n var CompatFinalizer = class {\n constructor(finalizer) {\n this.finalizer = finalizer;\n }\n register(dispatcher, key) {\n dispatcher.on("disconnect", () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key);\n }\n });\n }\n };\n __name(CompatFinalizer, "CompatFinalizer");\n module2.exports = function() {\n return {\n WeakRef: global.WeakRef || CompatWeakRef,\n FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer\n };\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/request.js\nvar require_request = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/request.js"(exports, module2) {\n init_define_process();\n global.FinalizationRegistry = function() {\n return { register: function() {\n } };\n };\n var { extractBody, mixinBody, cloneBody } = require_body();\n var { Headers: Headers3, fill: fillHeaders, HeadersList } = require_headers();\n var { FinalizationRegistry } = require_dispatcher_weakref()();\n var util = require_util();\n var {\n isValidHTTPToken,\n sameOrigin,\n normalizeMethod,\n makePolicyContainer\n } = require_util2();\n var {\n forbiddenMethods,\n corsSafeListedMethods,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n } = require_constants();\n var { kEnumerableProperty } = util;\n var { kHeaders: kHeaders2, kSignal, kState, kGuard: kGuard2, kRealm } = require_symbols();\n var { webidl } = require_webidl();\n var { getGlobalOrigin } = require_global();\n var { URLSerializer } = require_dataURL();\n var { kHeadersList } = require_symbols2();\n var assert = require("assert");\n var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");\n var TransformStream = globalThis.TransformStream;\n var kInit = Symbol("init");\n var kAbortController = Symbol("abortController");\n var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener("abort", abort);\n });\n var Request2 = class {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor(input, init = {}) {\n var _a, _b;\n if (input === kInit) {\n return;\n }\n webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });\n input = webidl.converters.RequestInfo(input);\n init = webidl.converters.RequestInit(init);\n this[kRealm] = {\n settingsObject: {\n baseUrl: getGlobalOrigin(),\n get origin() {\n var _a2;\n return (_a2 = this.baseUrl) == null ? void 0 : _a2.origin;\n },\n policyContainer: makePolicyContainer()\n }\n };\n let request = null;\n let fallbackMode = null;\n const baseUrl = this[kRealm].settingsObject.baseUrl;\n let signal = null;\n if (typeof input === "string") {\n let parsedURL;\n try {\n parsedURL = new URL(input, baseUrl);\n } catch (err) {\n throw new TypeError("Failed to parse URL from " + input, { cause: err });\n }\n if (parsedURL.username || parsedURL.password) {\n throw new TypeError(\n "Request cannot be constructed from a URL that includes credentials: " + input\n );\n }\n request = makeRequest({ urlList: [parsedURL] });\n fallbackMode = "cors";\n } else {\n assert(input instanceof Request2);\n request = input[kState];\n signal = input[kSignal];\n }\n const origin = this[kRealm].settingsObject.origin;\n let window = "client";\n if (((_b = (_a = request.window) == null ? void 0 : _a.constructor) == null ? void 0 : _b.name) === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) {\n window = request.window;\n }\n if (init.window != null) {\n throw new TypeError(`\'window\' option \'${window}\' must be null`);\n }\n if ("window" in init) {\n window = "no-window";\n }\n request = makeRequest({\n // URL request’s URL.\n // undici implementation note: this is set as the first item in request\'s urlList in makeRequest\n // method request’s method.\n method: request.method,\n // header list A copy of request’s header list.\n // undici implementation note: headersList is cloned in makeRequest\n headersList: request.headersList,\n // unsafe-request flag Set.\n unsafeRequest: request.unsafeRequest,\n // client This’s relevant settings object.\n client: this[kRealm].settingsObject,\n // window window.\n window,\n // priority request’s priority.\n priority: request.priority,\n // origin request’s origin. The propagation of the origin is only significant for navigation requests\n // being handled by a service worker. In this scenario a request can have an origin that is different\n // from the current client.\n origin: request.origin,\n // referrer request’s referrer.\n referrer: request.referrer,\n // referrer policy request’s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request’s mode.\n mode: request.mode,\n // credentials mode request’s credentials mode.\n credentials: request.credentials,\n // cache mode request’s cache mode.\n cache: request.cache,\n // redirect mode request’s redirect mode.\n redirect: request.redirect,\n // integrity metadata request’s integrity metadata.\n integrity: request.integrity,\n // keepalive request’s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request’s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request’s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request’s URL list.\n urlList: [...request.urlList]\n });\n if (Object.keys(init).length > 0) {\n if (request.mode === "navigate") {\n request.mode = "same-origin";\n }\n request.reloadNavigation = false;\n request.historyNavigation = false;\n request.origin = "client";\n request.referrer = "client";\n request.referrerPolicy = "";\n request.url = request.urlList[request.urlList.length - 1];\n request.urlList = [request.url];\n }\n if (init.referrer !== void 0) {\n const referrer = init.referrer;\n if (referrer === "") {\n request.referrer = "no-referrer";\n } else {\n let parsedReferrer;\n try {\n parsedReferrer = new URL(referrer, baseUrl);\n } catch (err) {\n throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });\n }\n request.referrer = parsedReferrer;\n }\n }\n if (init.referrerPolicy !== void 0) {\n request.referrerPolicy = init.referrerPolicy;\n }\n let mode;\n if (init.mode !== void 0) {\n mode = init.mode;\n } else {\n mode = fallbackMode;\n }\n if (mode === "navigate") {\n throw webidl.errors.exception({\n header: "Request constructor",\n message: "invalid request mode navigate."\n });\n }\n if (mode != null) {\n request.mode = mode;\n }\n if (init.credentials !== void 0) {\n request.credentials = init.credentials;\n }\n if (init.cache !== void 0) {\n request.cache = init.cache;\n }\n if (request.cache === "only-if-cached" && request.mode !== "same-origin") {\n throw new TypeError(\n "\'only-if-cached\' can be set only with \'same-origin\' mode"\n );\n }\n if (init.redirect !== void 0) {\n request.redirect = init.redirect;\n }\n if (init.integrity !== void 0 && init.integrity != null) {\n request.integrity = String(init.integrity);\n }\n if (init.keepalive !== void 0) {\n request.keepalive = Boolean(init.keepalive);\n }\n if (init.method !== void 0) {\n let method = init.method;\n if (!isValidHTTPToken(init.method)) {\n throw TypeError(`\'${init.method}\' is not a valid HTTP method.`);\n }\n if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {\n throw TypeError(`\'${init.method}\' HTTP method is unsupported.`);\n }\n method = normalizeMethod(init.method);\n request.method = method;\n }\n if (init.signal !== void 0) {\n signal = init.signal;\n }\n this[kState] = request;\n const ac = new AbortController();\n this[kSignal] = ac.signal;\n this[kSignal][kRealm] = this[kRealm];\n if (signal != null) {\n if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {\n throw new TypeError(\n "Failed to construct \'Request\': member signal is not of type AbortSignal."\n );\n }\n if (signal.aborted) {\n ac.abort(signal.reason);\n } else {\n this[kAbortController] = ac;\n const acRef = new WeakRef(ac);\n const abort = /* @__PURE__ */ __name(function() {\n const ac2 = acRef.deref();\n if (ac2 !== void 0) {\n ac2.abort(this.reason);\n }\n }, "abort");\n try {\n if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {\n setMaxListeners(100, signal);\n } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {\n setMaxListeners(100, signal);\n }\n } catch {\n }\n signal.addEventListener("abort", abort, { once: true });\n requestFinalizer.register(ac, { signal, abort });\n }\n }\n this[kHeaders2] = new Headers3();\n this[kHeaders2][kHeadersList] = request.headersList;\n this[kHeaders2][kGuard2] = "request";\n this[kHeaders2][kRealm] = this[kRealm];\n if (mode === "no-cors") {\n if (!corsSafeListedMethods.includes(request.method)) {\n throw new TypeError(\n `\'${request.method} is unsupported in no-cors mode.`\n );\n }\n this[kHeaders2][kGuard2] = "request-no-cors";\n }\n if (Object.keys(init).length !== 0) {\n let headers = new Headers3(this[kHeaders2]);\n if (init.headers !== void 0) {\n headers = init.headers;\n }\n this[kHeaders2][kHeadersList].clear();\n if (headers.constructor.name === "Headers") {\n for (const [key, val] of headers) {\n this[kHeaders2].append(key, val);\n }\n } else {\n fillHeaders(this[kHeaders2], headers);\n }\n }\n const inputBody = input instanceof Request2 ? input[kState].body : null;\n if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {\n throw new TypeError("Request with GET/HEAD method cannot have body.");\n }\n let initBody = null;\n if (init.body != null) {\n const [extractedBody, contentType] = extractBody(\n init.body,\n request.keepalive\n );\n initBody = extractedBody;\n if (contentType && !this[kHeaders2][kHeadersList].contains("content-type")) {\n this[kHeaders2].append("content-type", contentType);\n }\n }\n const inputOrInitBody = initBody ?? inputBody;\n if (inputOrInitBody != null && inputOrInitBody.source == null) {\n if (initBody != null && init.duplex == null) {\n throw new TypeError("RequestInit: duplex option is required when sending a body.");\n }\n if (request.mode !== "same-origin" && request.mode !== "cors") {\n throw new TypeError(\n \'If request is made from ReadableStream, mode should be "same-origin" or "cors"\'\n );\n }\n request.useCORSPreflightFlag = true;\n }\n let finalBody = inputOrInitBody;\n if (initBody == null && inputBody != null) {\n if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {\n throw new TypeError(\n "Cannot construct a Request with a Request object that has already been used."\n );\n }\n if (!TransformStream) {\n TransformStream = require("./streams").TransformStream;\n }\n const identityTransform = new TransformStream();\n inputBody.stream.pipeThrough(identityTransform);\n finalBody = {\n source: inputBody.source,\n length: inputBody.length,\n stream: identityTransform.readable\n };\n }\n this[kState].body = finalBody;\n }\n // Returns request’s HTTP method, which is "GET" by default.\n get method() {\n webidl.brandCheck(this, Request2);\n return this[kState].method;\n }\n // Returns the URL of request as a string.\n get url() {\n webidl.brandCheck(this, Request2);\n return URLSerializer(this[kState].url);\n }\n // Returns a Headers object consisting of the headers associated with request.\n // Note that headers added in the network layer by the user agent will not\n // be accounted for in this object, e.g., the "Host" header.\n get headers() {\n webidl.brandCheck(this, Request2);\n return this[kHeaders2];\n }\n // Returns the kind of resource requested by request, e.g., "document"\n // or "script".\n get destination() {\n webidl.brandCheck(this, Request2);\n return this[kState].destination;\n }\n // Returns the referrer of request. Its value can be a same-origin URL if\n // explicitly set in init, the empty string to indicate no referrer, and\n // "about:client" when defaulting to the global’s default. This is used\n // during fetching to determine the value of the `Referer` header of the\n // request being made.\n get referrer() {\n webidl.brandCheck(this, Request2);\n if (this[kState].referrer === "no-referrer") {\n return "";\n }\n if (this[kState].referrer === "client") {\n return "about:client";\n }\n return this[kState].referrer.toString();\n }\n // Returns the referrer policy associated with request.\n // This is used during fetching to compute the value of the request’s\n // referrer.\n get referrerPolicy() {\n webidl.brandCheck(this, Request2);\n return this[kState].referrerPolicy;\n }\n // Returns the mode associated with request, which is a string indicating\n // whether the request will use CORS, or will be restricted to same-origin\n // URLs.\n get mode() {\n webidl.brandCheck(this, Request2);\n return this[kState].mode;\n }\n // Returns the credentials mode associated with request,\n // which is a string indicating whether credentials will be sent with the\n // request always, never, or only when sent to a same-origin URL.\n get credentials() {\n return this[kState].credentials;\n }\n // Returns the cache mode associated with request,\n // which is a string indicating how the request will\n // interact with the browser’s cache when fetching.\n get cache() {\n webidl.brandCheck(this, Request2);\n return this[kState].cache;\n }\n // Returns the redirect mode associated with request,\n // which is a string indicating how redirects for the\n // request will be handled during fetching. A request\n // will follow redirects by default.\n get redirect() {\n webidl.brandCheck(this, Request2);\n return this[kState].redirect;\n }\n // Returns request’s subresource integrity metadata, which is a\n // cryptographic hash of the resource being fetched. Its value\n // consists of multiple hashes separated by whitespace. [SRI]\n get integrity() {\n webidl.brandCheck(this, Request2);\n return this[kState].integrity;\n }\n // Returns a boolean indicating whether or not request can outlive the\n // global in which it was created.\n get keepalive() {\n webidl.brandCheck(this, Request2);\n return this[kState].keepalive;\n }\n // Returns a boolean indicating whether or not request is for a reload\n // navigation.\n get isReloadNavigation() {\n webidl.brandCheck(this, Request2);\n return this[kState].reloadNavigation;\n }\n // Returns a boolean indicating whether or not request is for a history\n // navigation (a.k.a. back-foward navigation).\n get isHistoryNavigation() {\n webidl.brandCheck(this, Request2);\n return this[kState].historyNavigation;\n }\n // Returns the signal associated with request, which is an AbortSignal\n // object indicating whether or not request has been aborted, and its\n // abort event handler.\n get signal() {\n webidl.brandCheck(this, Request2);\n return this[kSignal];\n }\n get body() {\n webidl.brandCheck(this, Request2);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, Request2);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n get duplex() {\n webidl.brandCheck(this, Request2);\n return "half";\n }\n // Returns a clone of request.\n clone() {\n var _a;\n webidl.brandCheck(this, Request2);\n if (this.bodyUsed || ((_a = this.body) == null ? void 0 : _a.locked)) {\n throw new TypeError("unusable");\n }\n const clonedRequest = cloneRequest(this[kState]);\n const clonedRequestObject = new Request2(kInit);\n clonedRequestObject[kState] = clonedRequest;\n clonedRequestObject[kRealm] = this[kRealm];\n clonedRequestObject[kHeaders2] = new Headers3();\n clonedRequestObject[kHeaders2][kHeadersList] = clonedRequest.headersList;\n clonedRequestObject[kHeaders2][kGuard2] = this[kHeaders2][kGuard2];\n clonedRequestObject[kHeaders2][kRealm] = this[kHeaders2][kRealm];\n const ac = new AbortController();\n if (this.signal.aborted) {\n ac.abort(this.signal.reason);\n } else {\n this.signal.addEventListener(\n "abort",\n () => {\n ac.abort(this.signal.reason);\n },\n { once: true }\n );\n }\n clonedRequestObject[kSignal] = ac.signal;\n return clonedRequestObject;\n }\n };\n __name(Request2, "Request");\n mixinBody(Request2);\n function makeRequest(init) {\n const request = {\n method: "GET",\n localURLsOnly: false,\n unsafeRequest: false,\n body: null,\n client: null,\n reservedClient: null,\n replacesClientId: "",\n window: "client",\n keepalive: false,\n serviceWorkers: "all",\n initiator: "",\n destination: "",\n priority: null,\n origin: "client",\n policyContainer: "client",\n referrer: "client",\n referrerPolicy: "",\n mode: "no-cors",\n useCORSPreflightFlag: false,\n credentials: "same-origin",\n useCredentials: false,\n cache: "default",\n redirect: "follow",\n integrity: "",\n cryptoGraphicsNonceMetadata: "",\n parserMetadata: "",\n reloadNavigation: false,\n historyNavigation: false,\n userActivation: false,\n taintedOrigin: false,\n redirectCount: 0,\n responseTainting: "basic",\n preventNoCacheCacheControlHeaderModification: false,\n done: false,\n timingAllowFailed: false,\n ...init,\n headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()\n };\n request.url = request.urlList[0];\n return request;\n }\n __name(makeRequest, "makeRequest");\n function cloneRequest(request) {\n const newRequest = makeRequest({ ...request, body: null });\n if (request.body != null) {\n newRequest.body = cloneBody(request.body);\n }\n return newRequest;\n }\n __name(cloneRequest, "cloneRequest");\n Object.defineProperties(Request2.prototype, {\n method: kEnumerableProperty,\n url: kEnumerableProperty,\n headers: kEnumerableProperty,\n redirect: kEnumerableProperty,\n clone: kEnumerableProperty,\n signal: kEnumerableProperty,\n duplex: kEnumerableProperty,\n destination: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n isHistoryNavigation: kEnumerableProperty,\n isReloadNavigation: kEnumerableProperty,\n keepalive: kEnumerableProperty,\n integrity: kEnumerableProperty,\n cache: kEnumerableProperty,\n credentials: kEnumerableProperty,\n attribute: kEnumerableProperty,\n referrerPolicy: kEnumerableProperty,\n referrer: kEnumerableProperty,\n mode: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "Request",\n configurable: true\n }\n });\n webidl.converters.Request = webidl.interfaceConverter(\n Request2\n );\n webidl.converters.RequestInfo = function(V) {\n if (typeof V === "string") {\n return webidl.converters.USVString(V);\n }\n if (V instanceof Request2) {\n return webidl.converters.Request(V);\n }\n return webidl.converters.USVString(V);\n };\n webidl.converters.AbortSignal = webidl.interfaceConverter(\n AbortSignal\n );\n webidl.converters.RequestInit = webidl.dictionaryConverter([\n {\n key: "method",\n converter: webidl.converters.ByteString\n },\n {\n key: "headers",\n converter: webidl.converters.HeadersInit\n },\n {\n key: "body",\n converter: webidl.nullableConverter(\n webidl.converters.BodyInit\n )\n },\n {\n key: "referrer",\n converter: webidl.converters.USVString\n },\n {\n key: "referrerPolicy",\n converter: webidl.converters.DOMString,\n // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy\n allowedValues: referrerPolicy\n },\n {\n key: "mode",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#concept-request-mode\n allowedValues: requestMode\n },\n {\n key: "credentials",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcredentials\n allowedValues: requestCredentials\n },\n {\n key: "cache",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcache\n allowedValues: requestCache\n },\n {\n key: "redirect",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestredirect\n allowedValues: requestRedirect\n },\n {\n key: "integrity",\n converter: webidl.converters.DOMString\n },\n {\n key: "keepalive",\n converter: webidl.converters.boolean\n },\n {\n key: "signal",\n converter: webidl.nullableConverter(\n (signal) => webidl.converters.AbortSignal(\n signal,\n { strict: false }\n )\n )\n },\n {\n key: "window",\n converter: webidl.converters.any\n },\n {\n key: "duplex",\n converter: webidl.converters.DOMString,\n allowedValues: requestDuplex\n }\n ]);\n module2.exports = { Request: Request2, makeRequest };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher.js\nvar require_dispatcher = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher.js"(exports, module2) {\n "use strict";\n init_define_process();\n var EventEmitter = require("events");\n var Dispatcher = class extends EventEmitter {\n dispatch() {\n throw new Error("not implemented");\n }\n close() {\n throw new Error("not implemented");\n }\n destroy() {\n throw new Error("not implemented");\n }\n };\n __name(Dispatcher, "Dispatcher");\n module2.exports = Dispatcher;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher-base.js\nvar require_dispatcher_base = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher-base.js"(exports, module2) {\n "use strict";\n init_define_process();\n var Dispatcher = require_dispatcher();\n var {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError: InvalidArgumentError2\n } = require_errors();\n var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols2();\n var kDestroyed = Symbol("destroyed");\n var kClosed = Symbol("closed");\n var kOnDestroyed = Symbol("onDestroyed");\n var kOnClosed = Symbol("onClosed");\n var kInterceptedDispatch = Symbol("Intercepted Dispatch");\n var DispatcherBase = class extends Dispatcher {\n constructor() {\n super();\n this[kDestroyed] = false;\n this[kOnDestroyed] = null;\n this[kClosed] = false;\n this[kOnClosed] = [];\n }\n get destroyed() {\n return this[kDestroyed];\n }\n get closed() {\n return this[kClosed];\n }\n get interceptors() {\n return this[kInterceptors];\n }\n set interceptors(newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i];\n if (typeof interceptor !== "function") {\n throw new InvalidArgumentError2("interceptor must be an function");\n }\n }\n }\n this[kInterceptors] = newInterceptors;\n }\n close(callback) {\n if (callback === void 0) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data);\n });\n });\n }\n if (typeof callback !== "function") {\n throw new InvalidArgumentError2("invalid callback");\n }\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null));\n return;\n }\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback);\n } else {\n queueMicrotask(() => callback(null, null));\n }\n return;\n }\n this[kClosed] = true;\n this[kOnClosed].push(callback);\n const onClosed = /* @__PURE__ */ __name(() => {\n const callbacks = this[kOnClosed];\n this[kOnClosed] = null;\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null);\n }\n }, "onClosed");\n this[kClose]().then(() => this.destroy()).then(() => {\n queueMicrotask(onClosed);\n });\n }\n destroy(err, callback) {\n if (typeof err === "function") {\n callback = err;\n err = null;\n }\n if (callback === void 0) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err2, data) => {\n return err2 ? (\n /* istanbul ignore next: should never error */\n reject(err2)\n ) : resolve(data);\n });\n });\n }\n if (typeof callback !== "function") {\n throw new InvalidArgumentError2("invalid callback");\n }\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback);\n } else {\n queueMicrotask(() => callback(null, null));\n }\n return;\n }\n if (!err) {\n err = new ClientDestroyedError();\n }\n this[kDestroyed] = true;\n this[kOnDestroyed] = this[kOnDestroyed] || [];\n this[kOnDestroyed].push(callback);\n const onDestroyed = /* @__PURE__ */ __name(() => {\n const callbacks = this[kOnDestroyed];\n this[kOnDestroyed] = null;\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null);\n }\n }, "onDestroyed");\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed);\n });\n }\n [kInterceptedDispatch](opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch];\n return this[kDispatch](opts, handler);\n }\n let dispatch = this[kDispatch].bind(this);\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch);\n }\n this[kInterceptedDispatch] = dispatch;\n return dispatch(opts, handler);\n }\n dispatch(opts, handler) {\n if (!handler || typeof handler !== "object") {\n throw new InvalidArgumentError2("handler must be an object");\n }\n try {\n if (!opts || typeof opts !== "object") {\n throw new InvalidArgumentError2("opts must be an object.");\n }\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError();\n }\n if (this[kClosed]) {\n throw new ClientClosedError();\n }\n return this[kInterceptedDispatch](opts, handler);\n } catch (err) {\n if (typeof handler.onError !== "function") {\n throw new InvalidArgumentError2("invalid onError method");\n }\n handler.onError(err);\n return false;\n }\n }\n };\n __name(DispatcherBase, "DispatcherBase");\n module2.exports = DispatcherBase;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/node/fixed-queue.js\nvar require_fixed_queue = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/node/fixed-queue.js"(exports, module2) {\n "use strict";\n init_define_process();\n var kSize = 2048;\n var kMask = kSize - 1;\n var FixedCircularBuffer = class {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n isEmpty() {\n return this.top === this.bottom;\n }\n isFull() {\n return (this.top + 1 & kMask) === this.bottom;\n }\n push(data) {\n this.list[this.top] = data;\n this.top = this.top + 1 & kMask;\n }\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === void 0)\n return null;\n this.list[this.bottom] = void 0;\n this.bottom = this.bottom + 1 & kMask;\n return nextItem;\n }\n };\n __name(FixedCircularBuffer, "FixedCircularBuffer");\n module2.exports = /* @__PURE__ */ __name(class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n isEmpty() {\n return this.head.isEmpty();\n }\n push(data) {\n if (this.head.isFull()) {\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n this.tail = tail.next;\n }\n return next;\n }\n }, "FixedQueue");\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-stats.js\nvar require_pool_stats = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-stats.js"(exports, module2) {\n init_define_process();\n var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols2();\n var kPool = Symbol("pool");\n var PoolStats = class {\n constructor(pool) {\n this[kPool] = pool;\n }\n get connected() {\n return this[kPool][kConnected];\n }\n get free() {\n return this[kPool][kFree];\n }\n get pending() {\n return this[kPool][kPending];\n }\n get queued() {\n return this[kPool][kQueued];\n }\n get running() {\n return this[kPool][kRunning];\n }\n get size() {\n return this[kPool][kSize];\n }\n };\n __name(PoolStats, "PoolStats");\n module2.exports = PoolStats;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-base.js\nvar require_pool_base = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-base.js"(exports, module2) {\n "use strict";\n init_define_process();\n var DispatcherBase = require_dispatcher_base();\n var FixedQueue = require_fixed_queue();\n var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols2();\n var PoolStats = require_pool_stats();\n var kClients = Symbol("clients");\n var kNeedDrain = Symbol("needDrain");\n var kQueue = Symbol("queue");\n var kClosedResolve = Symbol("closed resolve");\n var kOnDrain = Symbol("onDrain");\n var kOnConnect = Symbol("onConnect");\n var kOnDisconnect = Symbol("onDisconnect");\n var kOnConnectionError = Symbol("onConnectionError");\n var kGetDispatcher = Symbol("get dispatcher");\n var kAddClient = Symbol("add client");\n var kRemoveClient = Symbol("remove client");\n var kStats = Symbol("stats");\n var PoolBase = class extends DispatcherBase {\n constructor() {\n super();\n this[kQueue] = new FixedQueue();\n this[kClients] = [];\n this[kQueued] = 0;\n const pool = this;\n this[kOnDrain] = /* @__PURE__ */ __name(function onDrain(origin, targets) {\n const queue = pool[kQueue];\n let needDrain = false;\n while (!needDrain) {\n const item = queue.shift();\n if (!item) {\n break;\n }\n pool[kQueued]--;\n needDrain = !this.dispatch(item.opts, item.handler);\n }\n this[kNeedDrain] = needDrain;\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false;\n pool.emit("drain", origin, [pool, ...targets]);\n }\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);\n }\n }, "onDrain");\n this[kOnConnect] = (origin, targets) => {\n pool.emit("connect", origin, [pool, ...targets]);\n };\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit("disconnect", origin, [pool, ...targets], err);\n };\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit("connectionError", origin, [pool, ...targets], err);\n };\n this[kStats] = new PoolStats(this);\n }\n get [kBusy]() {\n return this[kNeedDrain];\n }\n get [kConnected]() {\n return this[kClients].filter((client) => client[kConnected]).length;\n }\n get [kFree]() {\n return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;\n }\n get [kPending]() {\n let ret = this[kQueued];\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending;\n }\n return ret;\n }\n get [kRunning]() {\n let ret = 0;\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running;\n }\n return ret;\n }\n get [kSize]() {\n let ret = this[kQueued];\n for (const { [kSize]: size } of this[kClients]) {\n ret += size;\n }\n return ret;\n }\n get stats() {\n return this[kStats];\n }\n async [kClose]() {\n if (this[kQueue].isEmpty()) {\n return Promise.all(this[kClients].map((c) => c.close()));\n } else {\n return new Promise((resolve) => {\n this[kClosedResolve] = resolve;\n });\n }\n }\n async [kDestroy](err) {\n while (true) {\n const item = this[kQueue].shift();\n if (!item) {\n break;\n }\n item.handler.onError(err);\n }\n return Promise.all(this[kClients].map((c) => c.destroy(err)));\n }\n [kDispatch](opts, handler) {\n const dispatcher = this[kGetDispatcher]();\n if (!dispatcher) {\n this[kNeedDrain] = true;\n this[kQueue].push({ opts, handler });\n this[kQueued]++;\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true;\n this[kNeedDrain] = !this[kGetDispatcher]();\n }\n return !this[kNeedDrain];\n }\n [kAddClient](client) {\n client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);\n this[kClients].push(client);\n if (this[kNeedDrain]) {\n define_process_default.nextTick(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client]);\n }\n });\n }\n return this;\n }\n [kRemoveClient](client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client);\n if (idx !== -1) {\n this[kClients].splice(idx, 1);\n }\n });\n this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);\n }\n };\n __name(PoolBase, "PoolBase");\n module2.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/timers.js\nvar require_timers = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/timers.js"(exports, module2) {\n "use strict";\n init_define_process();\n var fastNow = Date.now();\n var fastNowTimeout;\n var fastTimers = [];\n function onTimeout() {\n fastNow = Date.now();\n let len = fastTimers.length;\n let idx = 0;\n while (idx < len) {\n const timer = fastTimers[idx];\n if (timer.state === 0) {\n timer.state = fastNow + timer.delay;\n } else if (timer.state > 0 && fastNow >= timer.state) {\n timer.state = -1;\n timer.callback(timer.opaque);\n }\n if (timer.state === -1) {\n timer.state = -2;\n if (idx !== len - 1) {\n fastTimers[idx] = fastTimers.pop();\n } else {\n fastTimers.pop();\n }\n len -= 1;\n } else {\n idx += 1;\n }\n }\n if (fastTimers.length > 0) {\n refreshTimeout();\n }\n }\n __name(onTimeout, "onTimeout");\n function refreshTimeout() {\n if (fastNowTimeout && fastNowTimeout.refresh) {\n fastNowTimeout.refresh();\n } else {\n clearTimeout(fastNowTimeout);\n fastNowTimeout = setTimeout(onTimeout, 1e3);\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref();\n }\n }\n }\n __name(refreshTimeout, "refreshTimeout");\n var Timeout = class {\n constructor(callback, delay, opaque) {\n this.callback = callback;\n this.delay = delay;\n this.opaque = opaque;\n this.state = -2;\n this.refresh();\n }\n refresh() {\n if (this.state === -2) {\n fastTimers.push(this);\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout();\n }\n }\n this.state = 0;\n }\n clear() {\n this.state = -1;\n }\n };\n __name(Timeout, "Timeout");\n module2.exports = {\n setTimeout(callback, delay, opaque) {\n return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);\n },\n clearTimeout(timeout) {\n if (timeout instanceof Timeout) {\n timeout.clear();\n } else {\n clearTimeout(timeout);\n }\n }\n };\n }\n});\n\n// src/patches/undici-core-request.js\nvar require_undici_core_request = __commonJS({\n "src/patches/undici-core-request.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var assert = require("assert");\n var util = require_util();\n var tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&\'*+.|~]+$/;\n var headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n var invalidPathRegex = /[^\\u0021-\\u00ff]/;\n var kHandler = Symbol("handler");\n var channels = {};\n var extractBody;\n try {\n const diagnosticsChannel = require("diagnostics_channel");\n channels.create = diagnosticsChannel.channel("undici:request:create");\n channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");\n channels.headers = diagnosticsChannel.channel("undici:request:headers");\n channels.trailers = diagnosticsChannel.channel("undici:request:trailers");\n channels.error = diagnosticsChannel.channel("undici:request:error");\n } catch {\n channels.create = { hasSubscribers: false };\n channels.bodySent = { hasSubscribers: false };\n channels.headers = { hasSubscribers: false };\n channels.trailers = { hasSubscribers: false };\n channels.error = { hasSubscribers: false };\n }\n var Request2 = class {\n constructor(origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError\n }, handler) {\n if (typeof path !== "string") {\n throw new InvalidArgumentError2("path must be a string");\n } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") {\n throw new InvalidArgumentError2(\n "path must be an absolute URL or start with a slash"\n );\n } else if (invalidPathRegex.exec(path) !== null) {\n throw new InvalidArgumentError2("invalid request path");\n }\n if (typeof method !== "string") {\n throw new InvalidArgumentError2("method must be a string");\n } else if (tokenRegExp.exec(method) === null) {\n throw new InvalidArgumentError2("invalid request method");\n }\n if (upgrade && typeof upgrade !== "string") {\n throw new InvalidArgumentError2("upgrade must be a string");\n }\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError2("invalid headersTimeout");\n }\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError2("invalid bodyTimeout");\n }\n if (reset != null && typeof reset !== "boolean") {\n throw new InvalidArgumentError2("invalid reset");\n }\n this.headersTimeout = headersTimeout;\n this.bodyTimeout = bodyTimeout;\n this.throwOnError = throwOnError === true;\n this.method = method;\n if (body == null) {\n this.body = null;\n } else if (util.isStream(body)) {\n this.body = body;\n } else if (util.isBuffer(body)) {\n this.body = body.byteLength ? body : null;\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null;\n } else if (typeof body === "string") {\n this.body = body.length ? Buffer.from(body) : null;\n } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {\n this.body = body;\n } else {\n throw new InvalidArgumentError2(\n "body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"\n );\n }\n this.completed = false;\n this.aborted = false;\n this.upgrade = upgrade || null;\n this.path = query ? util.buildURL(path, query) : path;\n this.origin = origin;\n this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;\n this.blocking = blocking == null ? false : blocking;\n this.reset = reset == null ? null : reset;\n this.host = null;\n this.contentLength = null;\n this.contentType = null;\n this.headers = "";\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError2("headers array must be even");\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1]);\n }\n } else if (headers && typeof headers === "object") {\n const keys = Object.keys(headers);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n processHeader(this, key, headers[key]);\n }\n } else if (headers != null) {\n throw new InvalidArgumentError2("headers must be an object or an array");\n }\n if (util.isFormDataLike(this.body)) {\n if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {\n throw new InvalidArgumentError2(\n "Form-Data bodies are only supported in node v16.8 and newer."\n );\n }\n if (!extractBody) {\n extractBody = require_body().extractBody;\n }\n const [bodyStream, contentType] = extractBody(body);\n if (this.contentType == null) {\n this.contentType = contentType;\n this.headers += `content-type: ${contentType}\\r\n`;\n }\n this.body = bodyStream.stream;\n this.contentLength = bodyStream.length;\n } else if (util.isBlobLike(body) && this.contentType == null && body.type) {\n this.contentType = body.type;\n this.headers += `content-type: ${body.type}\\r\n`;\n }\n util.validateHandler(handler, method, upgrade);\n this.servername = util.getServerName(this.host);\n this[kHandler] = handler;\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this });\n }\n }\n onBodySent(chunk) {\n if (this[kHandler].onBodySent) {\n try {\n this[kHandler].onBodySent(chunk);\n } catch (err) {\n this.onError(err);\n }\n }\n }\n onRequestSent() {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this });\n }\n }\n onConnect(abort) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onConnect(abort);\n }\n onHeaders(statusCode, headers, resume, statusText) {\n assert(!this.aborted);\n assert(!this.completed);\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({\n request: this,\n response: { statusCode, headers, statusText }\n });\n }\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText);\n }\n onData(chunk) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onData(chunk);\n }\n onUpgrade(statusCode, headers, socket) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onUpgrade(statusCode, headers, socket);\n }\n onComplete(trailers) {\n assert(!this.aborted);\n this.completed = true;\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers });\n }\n return this[kHandler].onComplete(trailers);\n }\n onError(error) {\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error });\n }\n if (this.aborted) {\n return;\n }\n this.aborted = true;\n return this[kHandler].onError(error);\n }\n addHeader(key, value) {\n processHeader(this, key, value);\n return this;\n }\n };\n __name(Request2, "Request");\n function processHeaderValue(key, val) {\n if (val && typeof val === "object") {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n }\n val = val != null ? `${val}` : "";\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n }\n return `${key}: ${val}\\r\n`;\n }\n __name(processHeaderValue, "processHeaderValue");\n function processHeader(request, key, val) {\n if (val && typeof val === "object" && !Array.isArray(val)) {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n } else if (val === void 0) {\n return;\n }\n if (request.host === null && key.length === 4 && key.toLowerCase() === "host") {\n request.host = val;\n } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {\n request.contentLength = parseInt(val, 10);\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError2("invalid content-length header");\n }\n } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {\n request.contentType = val;\n request.headers += processHeaderValue(key, val);\n } else {\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n request.headers += processHeaderValue(key, val[i]);\n }\n } else {\n request.headers += processHeaderValue(key, val);\n }\n }\n }\n __name(processHeader, "processHeader");\n module2.exports = Request2;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/connect.js\nvar require_connect = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/connect.js"(exports, module2) {\n "use strict";\n init_define_process();\n var net = require("net");\n var assert = require("assert");\n var util = require_util();\n var { InvalidArgumentError: InvalidArgumentError2, ConnectTimeoutError } = require_errors();\n var tls;\n var SessionCache;\n if (global.FinalizationRegistry) {\n SessionCache = /* @__PURE__ */ __name(class WeakSessionCache {\n constructor(maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions;\n this._sessionCache = /* @__PURE__ */ new Map();\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return;\n }\n const ref = this._sessionCache.get(key);\n if (ref !== void 0 && ref.deref() === void 0) {\n this._sessionCache.delete(key);\n }\n });\n }\n get(sessionKey) {\n const ref = this._sessionCache.get(sessionKey);\n return ref ? ref.deref() : null;\n }\n set(sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return;\n }\n this._sessionCache.set(sessionKey, new WeakRef(session));\n this._sessionRegistry.register(session, sessionKey);\n }\n }, "WeakSessionCache");\n } else {\n SessionCache = /* @__PURE__ */ __name(class SimpleSessionCache {\n constructor(maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions;\n this._sessionCache = /* @__PURE__ */ new Map();\n }\n get(sessionKey) {\n return this._sessionCache.get(sessionKey);\n }\n set(sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return;\n }\n if (this._sessionCache.size >= this._maxCachedSessions) {\n const { value: oldestKey } = this._sessionCache.keys().next();\n this._sessionCache.delete(oldestKey);\n }\n this._sessionCache.set(sessionKey, session);\n }\n }, "SimpleSessionCache");\n }\n function buildConnector({ maxCachedSessions, socketPath, timeout, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError2("maxCachedSessions must be a positive integer or zero");\n }\n const options = { path: socketPath, ...opts };\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);\n timeout = timeout == null ? 1e4 : timeout;\n return /* @__PURE__ */ __name(function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket;\n if (protocol === "https:") {\n if (!tls) {\n tls = require("tls");\n }\n servername = servername || options.servername || util.getServerName(host) || null;\n const sessionKey = servername || hostname;\n const session = sessionCache.get(sessionKey) || null;\n assert(sessionKey);\n socket = tls.connect({\n highWaterMark: 16384,\n // TLS in node can\'t have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n socket: httpSocket,\n // upgrade socket connection\n port: port || 443,\n host: hostname\n });\n socket.on("session", function(session2) {\n sessionCache.set(sessionKey, session2);\n });\n } else {\n assert(!httpSocket, "httpSocket can only be sent on TLS update");\n socket = net.connect({\n highWaterMark: 64 * 1024,\n // Same as nodejs fs streams.\n ...options,\n localAddress,\n port: port || 80,\n host: hostname\n });\n }\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;\n socket.setKeepAlive(true, keepAliveInitialDelay);\n }\n const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);\n socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {\n cancelTimeout();\n if (callback) {\n const cb = callback;\n callback = null;\n cb(null, this);\n }\n }).on("error", function(err) {\n cancelTimeout();\n if (callback) {\n const cb = callback;\n callback = null;\n cb(err);\n }\n });\n return socket;\n }, "connect");\n }\n __name(buildConnector, "buildConnector");\n function setupTimeout(onConnectTimeout2, timeout) {\n if (!timeout) {\n return () => {\n };\n }\n let s1 = null;\n let s2 = null;\n const timeoutId = setTimeout(() => {\n s1 = setImmediate(() => {\n if (define_process_default.platform === "win32") {\n s2 = setImmediate(() => onConnectTimeout2());\n } else {\n onConnectTimeout2();\n }\n });\n }, timeout);\n return () => {\n clearTimeout(timeoutId);\n clearImmediate(s1);\n clearImmediate(s2);\n };\n }\n __name(setupTimeout, "setupTimeout");\n function onConnectTimeout(socket) {\n util.destroy(socket, new ConnectTimeoutError());\n }\n __name(onConnectTimeout, "onConnectTimeout");\n module2.exports = buildConnector;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/utils.js\nvar require_utils2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/utils.js"(exports) {\n "use strict";\n init_define_process();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.enumToMap = void 0;\n function enumToMap(obj) {\n const res = {};\n Object.keys(obj).forEach((key) => {\n const value = obj[key];\n if (typeof value === "number") {\n res[key] = value;\n }\n });\n return res;\n }\n __name(enumToMap, "enumToMap");\n exports.enumToMap = enumToMap;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/constants.js\nvar require_constants2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/constants.js"(exports) {\n "use strict";\n init_define_process();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;\n var utils_1 = require_utils2();\n var ERROR;\n (function(ERROR2) {\n ERROR2[ERROR2["OK"] = 0] = "OK";\n ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";\n ERROR2[ERROR2["STRICT"] = 2] = "STRICT";\n ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";\n ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";\n ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";\n ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";\n ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";\n ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";\n ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";\n ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";\n ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";\n ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";\n ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";\n ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";\n ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";\n ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";\n ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";\n ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";\n ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";\n ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";\n ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";\n ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";\n ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";\n ERROR2[ERROR2["USER"] = 24] = "USER";\n })(ERROR = exports.ERROR || (exports.ERROR = {}));\n var TYPE;\n (function(TYPE2) {\n TYPE2[TYPE2["BOTH"] = 0] = "BOTH";\n TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";\n TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";\n })(TYPE = exports.TYPE || (exports.TYPE = {}));\n var FLAGS;\n (function(FLAGS2) {\n FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";\n FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";\n FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";\n FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";\n FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";\n FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";\n FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";\n FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";\n FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";\n })(FLAGS = exports.FLAGS || (exports.FLAGS = {}));\n var LENIENT_FLAGS;\n (function(LENIENT_FLAGS2) {\n LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";\n LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";\n LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";\n })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));\n var METHODS;\n (function(METHODS2) {\n METHODS2[METHODS2["DELETE"] = 0] = "DELETE";\n METHODS2[METHODS2["GET"] = 1] = "GET";\n METHODS2[METHODS2["HEAD"] = 2] = "HEAD";\n METHODS2[METHODS2["POST"] = 3] = "POST";\n METHODS2[METHODS2["PUT"] = 4] = "PUT";\n METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";\n METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";\n METHODS2[METHODS2["TRACE"] = 7] = "TRACE";\n METHODS2[METHODS2["COPY"] = 8] = "COPY";\n METHODS2[METHODS2["LOCK"] = 9] = "LOCK";\n METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";\n METHODS2[METHODS2["MOVE"] = 11] = "MOVE";\n METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";\n METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";\n METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";\n METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";\n METHODS2[METHODS2["BIND"] = 16] = "BIND";\n METHODS2[METHODS2["REBIND"] = 17] = "REBIND";\n METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";\n METHODS2[METHODS2["ACL"] = 19] = "ACL";\n METHODS2[METHODS2["REPORT"] = 20] = "REPORT";\n METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";\n METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";\n METHODS2[METHODS2["MERGE"] = 23] = "MERGE";\n METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";\n METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";\n METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";\n METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";\n METHODS2[METHODS2["PATCH"] = 28] = "PATCH";\n METHODS2[METHODS2["PURGE"] = 29] = "PURGE";\n METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";\n METHODS2[METHODS2["LINK"] = 31] = "LINK";\n METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";\n METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";\n METHODS2[METHODS2["PRI"] = 34] = "PRI";\n METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";\n METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";\n METHODS2[METHODS2["SETUP"] = 37] = "SETUP";\n METHODS2[METHODS2["PLAY"] = 38] = "PLAY";\n METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";\n METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";\n METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";\n METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";\n METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";\n METHODS2[METHODS2["RECORD"] = 44] = "RECORD";\n METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";\n })(METHODS = exports.METHODS || (exports.METHODS = {}));\n exports.METHODS_HTTP = [\n METHODS.DELETE,\n METHODS.GET,\n METHODS.HEAD,\n METHODS.POST,\n METHODS.PUT,\n METHODS.CONNECT,\n METHODS.OPTIONS,\n METHODS.TRACE,\n METHODS.COPY,\n METHODS.LOCK,\n METHODS.MKCOL,\n METHODS.MOVE,\n METHODS.PROPFIND,\n METHODS.PROPPATCH,\n METHODS.SEARCH,\n METHODS.UNLOCK,\n METHODS.BIND,\n METHODS.REBIND,\n METHODS.UNBIND,\n METHODS.ACL,\n METHODS.REPORT,\n METHODS.MKACTIVITY,\n METHODS.CHECKOUT,\n METHODS.MERGE,\n METHODS["M-SEARCH"],\n METHODS.NOTIFY,\n METHODS.SUBSCRIBE,\n METHODS.UNSUBSCRIBE,\n METHODS.PATCH,\n METHODS.PURGE,\n METHODS.MKCALENDAR,\n METHODS.LINK,\n METHODS.UNLINK,\n METHODS.PRI,\n // TODO(indutny): should we allow it with HTTP?\n METHODS.SOURCE\n ];\n exports.METHODS_ICE = [\n METHODS.SOURCE\n ];\n exports.METHODS_RTSP = [\n METHODS.OPTIONS,\n METHODS.DESCRIBE,\n METHODS.ANNOUNCE,\n METHODS.SETUP,\n METHODS.PLAY,\n METHODS.PAUSE,\n METHODS.TEARDOWN,\n METHODS.GET_PARAMETER,\n METHODS.SET_PARAMETER,\n METHODS.REDIRECT,\n METHODS.RECORD,\n METHODS.FLUSH,\n // For AirPlay\n METHODS.GET,\n METHODS.POST\n ];\n exports.METHOD_MAP = utils_1.enumToMap(METHODS);\n exports.H_METHOD_MAP = {};\n Object.keys(exports.METHOD_MAP).forEach((key) => {\n if (/^H/.test(key)) {\n exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];\n }\n });\n var FINISH;\n (function(FINISH2) {\n FINISH2[FINISH2["SAFE"] = 0] = "SAFE";\n FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";\n FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";\n })(FINISH = exports.FINISH || (exports.FINISH = {}));\n exports.ALPHA = [];\n for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {\n exports.ALPHA.push(String.fromCharCode(i));\n exports.ALPHA.push(String.fromCharCode(i + 32));\n }\n exports.NUM_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9\n };\n exports.HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15\n };\n exports.NUM = [\n "0",\n "1",\n "2",\n "3",\n "4",\n "5",\n "6",\n "7",\n "8",\n "9"\n ];\n exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);\n exports.MARK = ["-", "_", ".", "!", "~", "*", "\'", "(", ")"];\n exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);\n exports.STRICT_URL_CHAR = [\n "!",\n \'"\',\n "$",\n "%",\n "&",\n "\'",\n "(",\n ")",\n "*",\n "+",\n ",",\n "-",\n ".",\n "/",\n ":",\n ";",\n "<",\n "=",\n ">",\n "@",\n "[",\n "\\\\",\n "]",\n "^",\n "_",\n "`",\n "{",\n "|",\n "}",\n "~"\n ].concat(exports.ALPHANUM);\n exports.URL_CHAR = exports.STRICT_URL_CHAR.concat(["\t", "\\f"]);\n for (let i = 128; i <= 255; i++) {\n exports.URL_CHAR.push(i);\n }\n exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);\n exports.STRICT_TOKEN = [\n "!",\n "#",\n "$",\n "%",\n "&",\n "\'",\n "*",\n "+",\n "-",\n ".",\n "^",\n "_",\n "`",\n "|",\n "~"\n ].concat(exports.ALPHANUM);\n exports.TOKEN = exports.STRICT_TOKEN.concat([" "]);\n exports.HEADER_CHARS = ["\t"];\n for (let i = 32; i <= 255; i++) {\n if (i !== 127) {\n exports.HEADER_CHARS.push(i);\n }\n }\n exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);\n exports.MAJOR = exports.NUM_MAP;\n exports.MINOR = exports.MAJOR;\n var HEADER_STATE;\n (function(HEADER_STATE2) {\n HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";\n HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";\n HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";\n HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";\n HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";\n HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";\n })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));\n exports.SPECIAL_HEADERS = {\n "connection": HEADER_STATE.CONNECTION,\n "content-length": HEADER_STATE.CONTENT_LENGTH,\n "proxy-connection": HEADER_STATE.CONNECTION,\n "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,\n "upgrade": HEADER_STATE.UPGRADE\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/handler/RedirectHandler.js\nvar require_RedirectHandler = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) {\n "use strict";\n init_define_process();\n var util = require_util();\n var { kBodyUsed } = require_symbols2();\n var assert = require("assert");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var EE = require("events");\n var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];\n var kBody = Symbol("body");\n var BodyAsyncIterable = class {\n constructor(body) {\n this[kBody] = body;\n this[kBodyUsed] = false;\n }\n async *[Symbol.asyncIterator]() {\n assert(!this[kBodyUsed], "disturbed");\n this[kBodyUsed] = true;\n yield* this[kBody];\n }\n };\n __name(BodyAsyncIterable, "BodyAsyncIterable");\n var RedirectHandler = class {\n constructor(dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n util.validateHandler(handler, opts.method, opts.upgrade);\n this.dispatch = dispatch;\n this.location = null;\n this.abort = null;\n this.opts = { ...opts, maxRedirections: 0 };\n this.maxRedirections = maxRedirections;\n this.handler = handler;\n this.history = [];\n if (util.isStream(this.opts.body)) {\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body.on("data", function() {\n assert(false);\n });\n }\n if (typeof this.opts.body.readableDidRead !== "boolean") {\n this.opts.body[kBodyUsed] = false;\n EE.prototype.on.call(this.opts.body, "data", function() {\n this[kBodyUsed] = true;\n });\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {\n this.opts.body = new BodyAsyncIterable(this.opts.body);\n } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {\n this.opts.body = new BodyAsyncIterable(this.opts.body);\n }\n }\n onConnect(abort) {\n this.abort = abort;\n this.handler.onConnect(abort, { history: this.history });\n }\n onUpgrade(statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket);\n }\n onError(error) {\n this.handler.onError(error);\n }\n onHeaders(statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin));\n }\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText);\n }\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));\n const path = search ? `${pathname}${search}` : pathname;\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);\n this.opts.path = path;\n this.opts.origin = origin;\n this.opts.maxRedirections = 0;\n this.opts.query = null;\n if (statusCode === 303 && this.opts.method !== "HEAD") {\n this.opts.method = "GET";\n this.opts.body = null;\n }\n }\n onData(chunk) {\n if (this.location) {\n } else {\n return this.handler.onData(chunk);\n }\n }\n onComplete(trailers) {\n if (this.location) {\n this.location = null;\n this.abort = null;\n this.dispatch(this.opts, this);\n } else {\n this.handler.onComplete(trailers);\n }\n }\n onBodySent(chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk);\n }\n }\n };\n __name(RedirectHandler, "RedirectHandler");\n function parseLocation(statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null;\n }\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toString().toLowerCase() === "location") {\n return headers[i + 1];\n }\n }\n }\n __name(parseLocation, "parseLocation");\n function shouldRemoveHeader(header, removeContent, unknownOrigin) {\n return header.length === 4 && header.toString().toLowerCase() === "host" || removeContent && header.toString().toLowerCase().indexOf("content-") === 0 || unknownOrigin && header.length === 13 && header.toString().toLowerCase() === "authorization" || unknownOrigin && header.length === 6 && header.toString().toLowerCase() === "cookie";\n }\n __name(shouldRemoveHeader, "shouldRemoveHeader");\n function cleanRequestHeaders(headers, removeContent, unknownOrigin) {\n const ret = [];\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1]);\n }\n }\n } else if (headers && typeof headers === "object") {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key]);\n }\n }\n } else {\n assert(headers == null, "headers must be an object or an array");\n }\n return ret;\n }\n __name(cleanRequestHeaders, "cleanRequestHeaders");\n module2.exports = RedirectHandler;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/interceptor/redirectInterceptor.js\nvar require_redirectInterceptor = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) {\n "use strict";\n init_define_process();\n var RedirectHandler = require_RedirectHandler();\n function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return /* @__PURE__ */ __name(function Intercept(opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts;\n if (!maxRedirections) {\n return dispatch(opts, handler);\n }\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler);\n opts = { ...opts, maxRedirections: 0 };\n return dispatch(opts, redirectHandler);\n }, "Intercept");\n };\n }\n __name(createRedirectInterceptor, "createRedirectInterceptor");\n module2.exports = createRedirectInterceptor;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp-wasm.js\nvar require_llhttp_wasm = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) {\n init_define_process();\n module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAAMBBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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EGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvc9wEDKH8DfgV/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8gASEQIAEhESABIRIgASETIAEhFCABIRUgASEWIAEhFyABIRggASEZIAEhGiABIRsgASEcIAEhHSABIR4gASEfIAEhICABISEgASEiIAEhIyABISQgASElIAEhJiABIScgASEoIAEhKQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIipBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4B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AQtBwQEhKgsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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UGoON+cB5gEBAgMEBQYHCAAAAAAAAAAJCgsMDQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QERITFAALQR4hKgzEAwtCAiErDOUBC0IDISsM5AELQgQhKwzjAQtCBSErDOIBC0IGISsM4QELQgchKwzgAQtCCCErDN8BC0IJISsM3gELQgohKwzdAQtCCyErDNwBC0IMISsM2wELQg0hKwzaAQtCDiErDNkBC0IPISsM2AELQgohKwzXAQtCCyErDNYBC0IMISsM1QELQg0hKwzUAQtCDiErDNMBC0IPISsM0gELQgAhKwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKi0AAEFQag435QHkAQABAgMEBQYH5gHmAeYB5gHmAeYB5gEICQoLDA3mAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYBDg8QERIT5gELQgIhKwzkAQtCAyErDOMBC0IEISsM4gELQgUhKwzhAQtCBiErDOABC0IHISsM3wELQgghKwzeAQtCCSErDN0BC0IKISsM3AELQgshKwzbAQtCDCErDNoBC0INISsM2QELQg4hKwzYAQtCDyErDNcBC0IKISsM1gELQgshKwzVAQtCDCErDNQBC0INISsM0wELQg4hKwzSAQtCDyErDNEBCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDdIBQR8hKgzHAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBJCEqDK4DC0EgISoMxgMLIAAgASIqIAIQvoCAgABBf2oOBbYBAMsCAdEB0gELQREhKgyrAwsgAEEBOgAvICohAQzCAwsgASIBIAJHDdIBQSQhKgzCAwsgASInIAJHDR5BxgAhKgzBAwsgACABIgEgAhCygICAACIqDdQBIAEhAQy1AQsgASIqIAJHDSZB0AAhKgy/AwsCQCABIgEgAkcNAEEoISoMvwMLIABBADYCBCAAQYyAgIAANgIIIAAgASABELGAgIAAIioN0wEgASEBDNgBCwJAIAEiKiACRw0AQSkhKgy+AwsgKi0AACIBQSBGDRQgAUEJRw3TASAqQQFqIQEMFQsCQCABIgEgAkYNACABQQFq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AUEBaiEBIARBAWoiBCACRw0ACyAAICo2AgBBgwEhKgzoAgtBACEqIABBADYCACAuIDJrQQNqIQEMygELAkAgASIqIAJHDQBBhAEhKgznAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQYPPgIAAai0AAEcNzAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYQBISoM5wILIABBADYCACAqIC5rQQVqIQFBIyEqDMkBCwJAIAEiBCACRw0AQYUBISoM5gILAkACQCAELQAAQbR/ag4IAMwBzAHMAcwBzAHMAQHMAQsgBEEBaiEBQe8AISoMzQILIARBAWohAUHwACEqDMwCCwJAIAEiBCACRw0AQYYBISoM5QILIAQtAABBxQBHDckBIARBAWohAQyKAgsCQCABIiogAkcNAEGHASEqDOQCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBiM+AgABqLQAARw3JASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBhwEhKgzkAgsgAEEANgIAICogLmtBBGohAUEtISoMxgELAkAgASIqIAJHDQBBiAEhKgzjAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQdDPgIAAai0AAEcNyAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYgBISoM4wILIABBADYCACAqIC5rQQlqIQFBKSEqDMUBCwJAIAEiASACRw0AQYkBISoM4gILQQEhKiABLQAAQd8ARw3EASABQQFqIQEMiAILAkAgASIqIAJHDQBBigEhKgzhAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQNAIAQtAAAgAUGMz4CAAGotAABHDcUBIAFBAUYNtwIgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBigEhKgzgAgsCQCABIiogAkcNAEGLASEqDOACCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBjs+AgABqLQAARw3FASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBiwEhKgzgAgsgAEEANgIAICogLmtBA2ohAUECISoMwgELAkAgASIqIAJHDQBB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AABBt39qDgcBrgGuAa4BrgGuAQCuAQsgBEEBaiEEQY4BISoMrwILIARBAWohAUEiISoMqgELAkAgDiACRw0AQaQBISoMxwILIAIgDmsgACgCACIqaiEuIA4hBCAqIQECQANAIAQtAAAgAUHAz4CAAGotAABHDawBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGkASEqDMcCCyAAQQA2AgAgDiAqa0ECaiEBQR0hKgypAQsCQCAEIAJHDQBBpQEhKgzGAgsCQAJAIAQtAABBrn9qDgMArAEBrAELIARBAWohDkGQASEqDK0CCyAEQQFqIQFBBCEqDKgBCwJAIAQgAkcNAEGmASEqDMUCCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCuAa4BrgGuAa4BrgGuAa4BrgGuAQGuAa4BAq4BrgEDrgGuAQSuAQsgBEEBaiEEQYgBISoMrwILIARBAWohCkGJASEqDK4CCyAEQQFqIQtBigEhKgytAgsgBEEBaiEEQY8BISoMrAILIARBAWohBEGRASEqDKsCCwJAIA8gAkcNAEGnASEqDMQCCyACIA9rIAAoAgAiKmohLiAPIQQgKiEBAkADQCAELQAAIAFB7c+AgABqLQAARw2pASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBpwEhKgzEAgsgAEEANgIAIA8gKmtBA2ohAUERISoMpgELAkAgECACRw0AQagBISoMwwILIAIgEGsgACgCACIqaiEuIBAhBCAqIQECQANAIAQtAAAgAUHCz4CAAGotAABHDagBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGoASEqDMMCCyAAQQA2AgAgECAqa0EDaiEBQSwhKgylAQsCQCARIAJHDQBBqQEhKgzCAgsgAiARayAAKAIAIipqIS4gESEEICohAQJAA0AgBC0AACABQcXPgIAAai0AAEcNpwEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQakBISoMwgILIABBADYCACARICprQQVqIQFBKyEqDKQBCwJAIBIgAkcNAEGqASEqDMECCyACIBJrIAAoAgAiKmohLiASIQQgKiEBAkADQCAELQAAIAFBys+AgABqLQAARw2mASABQQJGDQEgAUEBaiEB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8s+AgABqLQAARw2WASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBugEhKgyxAgsgAEEANgIAIBsgKmtBAmohAUEPISoMkwELAkAgBCACRw0AQbsBISoMsAILAkACQCAELQAAQbd/ag4HAJYBlgGWAZYBlgEBlgELIARBAWohGkGlASEqDJcCCyAEQQFqIRtBpgEhKgyWAgsCQCAcIAJHDQBBvAEhKgyvAgsgAiAcayAAKAIAIipqIS4gHCEEICohAQJAA0AgBC0AACABQfTPgIAAai0AAEcNlAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbwBISoMrwILIABBADYCACAcICprQQhqIQFBGyEqDJEBCwJAIAQgAkcNAEG9ASEqDK4CCwJAAkACQCAELQAAQb5/ag4SAJUBlQGVAZUBlQGVAZUBlQGVAQGVAZUBlQGVAZUBlQEClQELIARBAWohGUGkASEqDJYCCyAEQQFqIQRBpwEhKgyVAgsgBEEBaiEcQagBISoMlAILAkAgBCACRw0AQb4BISoMrQILIAQtAABBzgBHDZEBIARBAWohBAzWAQsCQCAEIAJHDQBBvwEhKgysAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA6ABBAUGoAGgAaABBwgJCgugAQwNDg+gAQsgBEEBaiEBQegAISoMoQILIARBAWohAUHpACEqDKACCyAEQQFqIQFB7gAhKgyfAgsgBEEBaiEBQfIAISoMngILIARBAWohAUHzACEqDJ0CCyAEQQFqIQFB9gAhKgycAgsgBEEBaiEBQfcAISoMmwILIARBAWohAUH6ACEqDJoCCyAEQQFqIQRBgwEhKgyZAgsgBEEBaiEGQYQBISoMmAILIARBAWohB0GFASEqDJcCCyAEQQFqIQRBkgEhKgyWAgsgBEEBaiEEQZgBISoMlQILIARBAWohBEGgASEqDJQCCyAEQQFqIQRBowEhKgyTAgsgBEEBaiEEQaoBISoMkgILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBISoMkgILQcABISoMqgILIAAgHSACEKqAgIAAIgENjwEgHSEBDF4LAkAgHiACRg0AIB5BAWohHQyRAQtBwgEhKgyoAgsD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NgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhKgyNAgsgACgCBCEyIABBADYCBCAqICunaiIvIQEgACAyICogLyAuGyIqELWAgIAAIi5FDZMBIABBBzYCHCAAICo2AhQgACAuNgIMQQAhKgyMAgsgACAALwEwQYABcjsBMCABIQELQSohKgzxAQsgKkEVRg3ZASAAQQA2AhwgACABNgIUIABBg4yAgAA2AhAgAEETNgIMQQAhKgyJAgsgKkEVRg3XASAAQQA2AhwgACABNgIUIABBmo+AgAA2AhAgAEEiNgIMQQAhKgyIAgsgACgCBCEqIABBADYCBAJAIAAgKiABELeAgIAAIioNACABQQFqIQEMkwELIABBDDYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyHAgsgKkEVRg3UASAAQQA2AhwgACABNgIUIABBmo+AgAA2AhAgAEEiNgIMQQAhKgyGAgsgACgCBCEqIABBADYCBAJAIAAgKiABELeAgIAAIioNACABQQFqIQEMkgELIABBDTYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyFAgsgKkEVRg3RASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgyEAgsgACgCBCEqIABBADYCBAJAIAAgKiABELmAgIAAIioNACABQQFqIQEMkQELIABBDjYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyDAgsgAEEANgIcIAAgATYCFCAAQcCVgIAANgIQIABBAjYCDEEAISoMggILICpBFUYNzQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAISoMgQILIABBEDYCHCAAIAE2AhQgACAqNgIMQQAhKgyAAgsgACgCBCEEIABBADYCBAJAIAAgBCABELmAgIAAIgQNACABQQFqIQEM+AELIABBETYCHCAAIAQ2AgwgACABQQFqNgIUQQAhKgz/AQsgKkEVRg3JASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgz+AQsgACgCBCEqIABBADYCBAJAIAAgKiABELmAgIAAIioNACABQQFqIQEMjgELIABBEzYCHCAAICo2AgwgACABQQFqNgIUQQAhKgz9AQsgACgCBCEEIABBADYCBAJAIAAgBCABELmAgIAAIgQNACAB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AkAgAC0AKUEjTw0AIAEhAQxcCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhKgy8AQsgAEEANgIAC0EAISogAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy6AQsgAEEANgIAIDIgL2tBA2ohAQJAIAAtAClBIUcNACABIQEMWQsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAISoMuQELIABBADYCACAyIC9rQQRqIQECQCAALQApIipBXWpBC08NACABIQEMWAsCQCAqQQZLDQBBASAqdEHKAHFFDQAgASEBDFgLQQAhKiAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLgBCyAqQRVGDXUgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAISoMtwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFcLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMtgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMtQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMtAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMswELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEqDLIBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDLEBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdMANgIcIAAgATYCFCAAICo2AgxBACEqDLABCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxQCyAAQeUANgIcIAAgATYCFCAAICo2AgxBACEqDK8BCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhKgyuAQsgKkE/Rw0BIAFBAWohAQtBBSEqDJMBC0EAISogAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyrAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMRAsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgyqAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMRAsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgypAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMSQsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyoAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMQQsgAEHSADYCHCAAIC42AhQgACABNgIMQQAhKgynAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMQQsgAEHTADYCHCAAIC42AhQgACABNgIMQQAhKgymAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMRgsgAEHlADYCHCAAIC42AhQgACABNgIMQQAhKgylAQsgAEEANgIcIAAgLjYCFCAAQcOPgIAANgIQIABBBzYCDEEAISoMpAELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEqDKMBC0EAISogAEEANgIcIAAgLjYCFCAAQYycgIAANgIQIABBBzYCDAyiAQsgAEEANgIcIAAgLjYCFCAAQYycgIAANgIQIABBBzYCDEEAISoMoQELIABBADYCHCAAIC42AhQgAEH+kYCAADYCECAAQQc2AgxBACEqDKABCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhKgyfAQsgKkEVRg1bIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEqDJ4BCyAAQQA2AgAgKiAua0EGaiEBQSQhKgsgACAqOgApIAAoAgQhKiAAQQA2AgQgACAqIAEQq4CAgAAiKg1YIAEhAQxBCyAAQQA2AgALQQAhKiAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJoBCyABQRVGDVQgAEEANgIcIAAgHTYCFCAAQfCMgIAANgIQIABBGzYCDEEAISoMmQELIAAoAgQhHSAAQQA2AgQgACAdICoQqYCAgAAiHQ0BICpBAWohHQtBrQEhKgx+CyAAQcEBNgIcIAAgHTYCDCAAICpBAWo2AhRBACEqDJYBCyAAKAIEIR4gAEEANgIEIAAgHiAqEKmAgIAAIh4NASAqQQFqIR4LQa4BISoMewsgAEHCATYCHCAAIB42AgwgACAqQQFqNgIUQQAhKgyTAQsgAEEANgIcIAAgHzYCFCAAQZeLgIAANgIQIABBDTYCDEEAISoMkgELIABBADYCHCAAICA2AhQgAEHjkICAADYCECAAQQk2AgxBACEqDJEBCyAAQQA2AhwgACAgNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhKgyQAQtBASEvQQAhMkEAIS5BASEqCyAAICo6ACsgIUEBaiEgAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgL0UNAwwCCyAuDQEMAgsgMkUNAQsgACgCBCEqIABBADYCBCAAICogIBCtgICAACIqRQ1AIABByQE2AhwgACAgNgIUIAAgKjYCDEEAISoMjwELIAAoAgQhASAAQQA2AgQgACABICAQrYCAgAAiAUUNeSAAQcoBNgIcIAAgIDYCFCAAIAE2AgxBACEqDI4BCyAAKAIEIQEgAEEANgIEIAAgASAhEK2AgIAAIgFFDXcgAEHLATYCHCAAICE2AhQgACABNgIMQQAhKgyNAQsgACgCBCEBIABBADYCBCAAIAEgIhCtgICAACIBRQ11IABBzQE2AhwgACAiNgIUIAAgATYCDEEAISoMjAELQQEhKgsgACAqOgAqICNBAWohIgw9CyAAKAIEIQEgAEEANgIEIAAgASAjEK2AgIAAIgFFDXEgAEHPATYCHCAAICM2AhQgACABNgIMQQAhKgyJAQsgAEEANgIcIAAgIzYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEqDIgBCyABQRVGDUEgAEEANgIcIAAgJDYCFCAAQcyOgIAANgIQIABBIDYCDEEAISoMhwELIABBADYCACAAQYEEOwEoIAAoAgQhKiAAQQA2AgQgACAqICUgJGtBAmoiJBCrgICAACIqRQ06IABB0wE2AhwgACAkNgIUIAAgKjYCDEEAISoMhgELIABBADYCAAtBACEqIABBADYCHCAAIAQ2AhQgAEHYm4CAADYCECAAQQg2AgwMhAELIABBADYCACAAKAIEISogAEEANgIEIAAgKiAmICNrQQNqIiMQq4CAgAAiKg0BQcYBISoMagsgAEECOgAoDFcLIABB1QE2AhwgACAjNgIUIAAgKjYCDEEAISoMgQELICpBFUYNOSAAQQA2AhwgACAENgIUIABBpIyAgAA2AhAgAEEQNgIMQQAhKgyAAQsgAC0ANEEBRw02IAAgBCACELyAgIAAIipFDTYgKkEVRw03IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhKgx/C0EAISogAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgLkEBajYCFAx+C0EAISoMZAtBAiEqDGMLQQ0hKgxiC0EPISoMYQtBJSEqDGALQRMhKgxfC0EVISoMXgtBFiEqDF0LQRchKgxcC0EYISoMWwtBGSEqDFoLQRohKgxZC0EbISoMWAtBHCEqDFcLQR0hKgxWC0EfISoMVQtBISEqDFQLQSMhKgxTC0HGACEqDFILQS4hKgxRC0EvISoMUAtBOyEqDE8LQT0hKgxOC0HIACEqDE0LQckAISoMTAtBywAhKgxLC0HMACEqDEoLQc4AISoMSQtBzwAhKgxIC0HRACEqDEcLQdUAISoMRgtB2AAhKgxFC0HZACEqDEQLQdsAISoMQwtB5AAhKgxCC0HlACEqDEELQfEAISoMQAtB9AAhKgw/C0GNASEqDD4LQZcBISoMPQtBqQEhKgw8C0GsASEqDDsLQcABISoMOgtBuQEhKgw5C0GvASEqDDgLQbEBISoMNwtBsgEhKgw2C0G0ASEqDDULQbUBISoMNAtBtgEhKgwzC0G6ASEqDDILQb0BISoMMQtBvwEhKgwwC0HBASEqDC8LIABBADYCHCAAIAQ2AhQgAEHpi4CAADYCECAAQR82AgxBACEqDEcLIABB2wE2AhwgACAENgIUIABB+paAgAA2AhAgAEEVNgIMQQAhKgxGCyAAQfgANgIcIAAgJDYCFCAAQcqYgIAANgIQIABBFTYCDEEAISoMRQsgAEHRADYCHCAAIB02AhQgAEGwl4CAADYCECAAQRU2AgxBACEqDEQLIABB+QA2AhwgACABNgIUIAAgKjYCDEEAISoMQwsgAEH4ADYCHCAAIAE2AhQgAEHKmICAADYCECAAQRU2AgxBACEqDEILIABB5AA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhKgxBCyAAQdcANgIcIAAgATYCFCAAQcmXgIAANgIQIABBFTYCDEEAISoMQAsgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAISoMPwsgAEHCADYCHCAAIAE2AhQgAEHjmICAADYCECAAQRU2AgxBACEqDD4LIABBADYCBCAAICkgKRCxgICAACIBRQ0BIABBOjYCHCAAIAE2AgwgACApQQFqNgIUQQAhKgw9CyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBEUNACAAQTs2AhwgACAENgIMIAAgAUEBajYCFEEAISoMPQsgAUEBaiEBDCwLIClBAWohAQwsCyAAQQA2AhwgACApNgIUIABB5JKAgAA2AhAgAEEENgIMQQAhKgw6CyAAQTY2AhwgACABNgIUIAAgBDYCDEEAISoMOQsgAEEuNgIcIAAgKDYCFCAAIAE2AgxBACEqDDgLIABB0AA2AhwgACABNgIUIABBkZiAgAA2AhAgAEEVNgIMQQAhKgw3CyAnQQFqIQEMKwsgAEEVNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAISoMNQsgAEEbNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAISoMNAsgAEEPNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAISoMMwsgAEELNgIcIAAgATYCFCAAQZGXgIAANgIQIABBFTYCDEEAISoMMgsgAEEaNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAISoMMQsgAEELNgIcIAAgATYCFCAAQYKZgIAANgIQIABBFTYCDEEAISoMMAsgAEEKNgIcIAAgATYCFCAAQeSWgIAANgIQIABBFTYCDEEAISoMLwsgAEEeNgIcIAAgATYCFCAAQfmXgIAANgIQIABBFTYCDEEAISoMLgsgAEEANgIcIAAgKjYCFCAAQdqNgIAANgIQIABBFDYCDEEAISoMLQsgAEEENgIcIAAgATYCFCAAQbCYgIAANgIQIABBFTYCDEEAISoMLAsgAEEANgIAIAQgLmtBBWohIwtBuAEhKgwRCyAAQQA2AgAgKiAua0ECaiEBQfUAISoMEAsgASEBAkAgAC0AKUEFRw0AQeMAISoMEAtB4gAhKgwPC0EAISogAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgLkEBajYCFAwnCyAAQQA2AgAgMiAva0ECaiEBQcAAISoMDQsgASEBC0E4ISoMCwsCQCABIikgAkYNAANAAkAgKS0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyApQQFqIQEMBAsgKUEBaiIpIAJHDQALQT4hKgwkC0E+ISoMIwsgAEEAOgAsICkhAQwBC0ELISoMCAtBOiEqDAcLIAFBAWohAUEtISoMBgtBKCEqDAULIABBADYCACAvIDBrQQRqIQFBBiEqCyAAICo6ACwgASEBQQwhKgwDCyAAQQA2AgAgMiAva0EHaiEBQQohKgwCCyAAQQA2AgALIABBADoALCAnIQFBCSEqDAALC0EAISogAEEANgIcIAAgIzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAISogAEEANgIcIAAgIjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAISogAEEANgIcIAAgITYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAISogAEEANgIcIAAgIDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAISogAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAISogAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAISogAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAISogAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAISogAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAISogAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAISogAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAISogAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAISogAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAISogAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EA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AAAABQAAAAAAAAAAAAAABgAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgACAgICAgAAAgIAAgIAAgICAgICAgICAgADAAQAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxvc2VlZXAtYWxpdmUAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWN0aW9uZW50LWxlbmd0aG9ucm94eS1jb25uZWN0aW9uAAAAAAAAAAAAAAAAAAAAcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAAAAAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAADBAAABAQEBAQEBAQEBAQFBAQEBAQEBAQEBAQEAAQABgcEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv";\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js\nvar require_llhttp_simd_wasm = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) {\n init_define_process();\n module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAAMBBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC9z3AQMofwN+BX8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDyABIRAgASERIAEhEiABIRMgASEUIAEhFSABIRYgASEXIAEhGCABIRkgASEaIAEhGyABIRwgASEdIAEhHiABIR8gASEgIAEhISABISIgASEjIAEhJCABISUgASEmIAEhJyABISggASEpAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhwiKkF/ag7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVW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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEqDMQDC0ICISsM5QELQgMhKwzkAQtCBCErDOMBC0IFISsM4gELQgYhKwzhAQtCByErDOABC0IIISsM3wELQgkhKwzeAQtCCiErDN0BC0ILISsM3AELQgwhKwzbAQtCDSErDNoBC0IOISsM2QELQg8hKwzYAQtCCiErDNcBC0ILISsM1gELQgwhKwzVAQtCDSErDNQBC0IOISsM0wELQg8hKwzSAQtCACErAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAqLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiErDOQBC0IDISsM4wELQgQhKwziAQtCBSErDOEBC0IGISsM4AELQgchKwzfAQtCCCErDN4BC0IJISsM3QELQgohKwzcAQtCCyErDNsBC0IMISsM2gELQg0hKwzZAQtCDiErDNgBC0IPISsM1wELQgohKwzWAQtCCyErDNUBC0IMISsM1AELQg0hKwzTAQtCDiErDNIBC0IPISsM0QELIABCACAAKQMgIisgAiABIiprrSIsfSItIC0gK1YbNwMgICsgLFYiLkUN0gFBHyEqDMcDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkISoMrgMLQSAhKgzGAwsgACABIiogAhC+gICAAEF/ag4FtgEAywIB0QHSAQtBESEqDKsDCyAAQQE6AC8gKiEBDMIDCyABIgEgAkcN0gFBJCEqDMIDCyABIicgAkcNHkHGACEqDMEDCyAAIAEiASACELKAgIAAIioN1AEgASEBDLUBCyABIiogAkcNJkHQACEqDL8DCwJAIAEiASACRw0AQSghKgy/AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiKg3TASABIQEM2AELAkAgASIqIAJHDQBBKSEqDL4DCyAqLQAAIgFBIEYNFCABQQlHDdMBICpBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqISoMvAMLAkAg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DQALIAAgKjYCAEGDASEqDOgCC0EAISogAEEANgIAIC4gMmtBA2ohAQzKAQsCQCABIiogAkcNAEGEASEqDOcCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBg8+AgABqLQAARw3MASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBhAEhKgznAgsgAEEANgIAICogLmtBBWohAUEjISoMyQELAkAgASIEIAJHDQBBhQEhKgzmAgsCQAJAIAQtAABBtH9qDggAzAHMAcwBzAHMAcwBAcwBCyAEQQFqIQFB7wAhKgzNAgsgBEEBaiEBQfAAISoMzAILAkAgASIEIAJHDQBBhgEhKgzlAgsgBC0AAEHFAEcNyQEgBEEBaiEBDIoCCwJAIAEiKiACRw0AQYcBISoM5AILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGIz4CAAGotAABHDckBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGHASEqDOQCCyAAQQA2AgAgKiAua0EEaiEBQS0hKgzGAQsCQCABIiogAkcNAEGIASEqDOMCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB0M+AgABqLQAARw3IASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBiAEhKgzjAgsgAEEANgIAICogLmtBCWohAUEpISoMxQELAkAgASIBIAJHDQBBiQEhKgziAgtBASEqIAEtAABB3wBHDcQBIAFBAWohAQyIAgsCQCABIiogAkcNAEGKASEqDOECCyACICprIAAoAgAiLmohMiAqIQQgLiEBA0AgBC0AACABQYzPgIAAai0AAEcNxQEgAUEBRg23AiABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGKASEqDOACCwJAIAEiKiACRw0AQYsBISoM4AILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGOz4CAAGotAABHDcUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGLASEqDOACCyAAQQA2AgAgKiAua0EDaiEBQQIhKgzCAQsCQCABIiogAkcNAEGMASEqDN8CCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB8M+AgABqLQAARw3EASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBjAEhKgzfAgsgAEEANgIAICogLmtBAmohAUEfISoMwQELAkAgASIqIAJHDQBBjQEhKgzeAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQfLPgIAAai0AAEcNwwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQY0BISoM3gILIABBADYCACAqIC5rQQJqIQFBCSEqDMABCwJAIAEiBCACRw0AQY4BISoM3QILAkACQCAELQAAQbd/ag4HAMMBwwHDAcMBwwEBwwELIARBAWohAUH4ACEqDMQCCyAEQQFqIQFB+QAhKgzDAgsCQCABIiogAkcNAEGPASEqDNwCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBkc+AgABqLQAARw3BASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBjwEhKgzcAgsgAEEANgIAICogLmtBBmohAUEYISoMvgELAkAgASIqIAJHDQBBkAEhKgzbAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQZfPgIAAai0AAEcNwAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQZABISoM2wILIABBADYCACAqIC5rQQNqIQFBFyEqDL0BCwJAIAEiKiACRw0AQZEBISoM2gILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGaz4CAAGotAABHDb8BIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGRASEqDNoCCyAAQQA2AgAgKiAua0EHaiEBQRUhKgy8AQsCQCABIiogAkcNAEGSASEqDNkCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBoc+AgABqLQAARw2+ASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBkgEhKgzZAgsgAEEANgIAICogLmtBBmohAUEeISoMuwELAkAgASIEIAJHDQBBkwEhKgzYAgsgBC0AAEHMAEcN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LjYCAEGqASEqDMECCyAAQQA2AgAgEiAqa0EDaiEBQRQhKgyjAQsCQCAEIAJHDQBBqwEhKgzAAgsCQAJAAkACQCAELQAAQb5/ag4PAAECqAGoAagBqAGoAagBqAGoAagBqAGoAQOoAQsgBEEBaiEPQZMBISoMqQILIARBAWohEEGUASEqDKgCCyAEQQFqIRFBlQEhKgynAgsgBEEBaiESQZYBISoMpgILAkAgBCACRw0AQawBISoMvwILIAQtAABBxQBHDaMBIARBAWohBAznAQsCQCATIAJHDQBBrQEhKgy+AgsgAiATayAAKAIAIipqIS4gEyEEICohAQJAA0AgBC0AACABQc3PgIAAai0AAEcNowEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQa0BISoMvgILIABBADYCACATICprQQNqIQFBDiEqDKABCwJAIAQgAkcNAEGuASEqDL0CCyAELQAAQdAARw2hASAEQQFqIQFBJSEqDJ8BCwJAIBQgAkcNAEGvASEqDLwCCyACIBRrIAAoAgAiKmohLiAUIQQgKiEBAkADQCAELQAAIAFB0M+AgABqLQAARw2hASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBrwEhKgy8AgsgAEEANgIAIBQgKmtBCWohAUEqISoMngELAkAgBCACRw0AQbABISoMuwILAkACQCAELQAAQat/ag4LAKEBoQGhAaEBoQGhAaEBoQGhAQGhAQsgBEEBaiEEQZoBISoMogILIARBAWohFEGbASEqDKECCwJAIAQgAkcNAEGxASEqDLoCCwJAAkAgBC0AAEG/f2oOFACgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEBoAELIARBAWohE0GZASEqDKECCyAEQQFqIQRBnAEhKgygAgsCQCAVIAJHDQBBsgEhKgy5AgsgAiAVayAAKAIAIipqIS4gFSEEICohAQJAA0AgBC0AACABQdnPgIAAai0AAEcNngEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbIBISoMuQILIABBADYCACAVICprQQRqIQFBISEqDJsBCwJAIBYgAkcNAEGzASEqDLgCCyACIBZrIAAoAgAiKmohLiAWIQQgKiEBAkADQCAELQAAIAFB3c+AgABqLQAARw2dASABQQZGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBswEhKgy4AgsgAEEANgIAIBYgKmtBB2ohAUEaISoMmgELAkAgBCACRw0AQbQBISoMtwILAkACQAJAIAQtAABBu39qDhEAngGeAZ4BngGeAZ4BngGeAZ4BAZ4BngGeAZ4BngECngELIARBAWohBEGdASEqDJ8CCyAEQQFqIRVBngEhKgyeAgsgBEEBaiEWQZ8BISoMnQILAkAgFyACRw0AQbUBISoMtgILIAIgF2sgACgCACIqaiEuIBchBCAqIQECQANAIAQtAAAgAUHkz4CAAGotAABHDZsBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEG1ASEqDLYCCyAAQQA2AgAgFyAqa0EGaiEBQSghKgyYAQsCQCAYIAJHDQBBtgEhKgy1AgsgAiAYayAAKAIAIipqIS4gGCEEICohAQJAA0AgBC0AACABQerPgIAAai0AAEcNmgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbYBISoMtQILIABBADYCACAYICprQQNqIQFBByEqDJcBCwJAIAQgAkcNAEG3ASEqDLQCCwJAAkAgBC0AAEG7f2oODgCaAZoBmgGaAZoBmgGaAZoBmgGaAZoBmgEBmgELIARBAWohF0GhASEqDJsCCyAEQQFqIRhBogEhKgyaAgsCQCAZIAJHDQBBuAEhKgyzAgsgAiAZayAAKAIAIipqIS4gGSEEICohAQJAA0AgBC0AACABQe3PgIAAai0AAEcNmAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbgBISoMswILIABBADYCACAZICprQQNqIQFBEiEqDJUBCwJAIBogAkcNAEG5ASEqDLICCyACIBprIAAoAgAiKmohLiAaIQQgKiEBAkADQCAELQAAIAFB8M+AgABqLQAARw2XASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBuQEhKgyyAgsgAEEANgIAIBogKmtBAmohAUEgISoMlAELAkAgGyACRw0AQboBISoMsQILIAIgG2sgACgCACIqaiEuIBshBCAqIQECQANAIAQtAAAgAUHyz4CAAGotAABHDZYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEG6ASEqDLECCyAAQQA2AgAgGyAqa0ECaiEBQQ8hKgyTAQsCQCAEIAJHDQBBuwEhKgywAgsCQAJAIAQtAABBt39qDgcAlgGWAZYBlgGWAQGWAQsgBEEBaiEaQaUBISoMlwILIARBAWohG0GmASEqDJYCCwJAIBwgAkcNAEG8ASEqDK8CCyACIBxrIAAoAgAiKmohLiAcIQQgKiEBAkADQCAELQAAIAFB9M+AgABqLQAARw2UASABQQdGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBvAEhKgyvAgsgAEEANgIAIBwgKmtBCGohAUEbISoMkQELAkAgBCACRw0AQb0BISoMrgILAkACQAJAIAQtAABBvn9qDhIAlQGVAZUBlQGVAZUBlQGVAZUBAZUBlQGVAZUBlQGVAQKVAQsgBEEBaiEZQaQBISoMlgILIARBAWohBEGnASEqDJUCCyAEQQFqIRxBqAEhKgyUAgsCQCAEIAJHDQBBvgEhKgytAgsgBC0AAEHOAEcNkQEgBEEBaiEEDNYBCwJAIAQgAkcNAEG/ASEqDKwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAABBv39qDhUAAQIDoAEEBQagAaABoAEHCAkKC6ABDA0OD6ABCyAEQQFqIQFB6AAhKgyhAgsgBEEBaiEBQekAISoMoAILIARBAWohAUHuACEqDJ8CCyAEQQFqIQFB8gAhKgyeAgsgBEEBaiEBQfMAISoMnQILIARBAWohAUH2ACEqDJwCCyAEQQFqIQFB9wAhKgybAgsgBEEBaiEBQfoAISoMmgILIARBAWohBEGDASEqDJkCCyAEQQFqIQZBhAEhKgyYAgsgBEEBaiEHQYUBISoMlwILIARBAWohBEGSASEqDJYCCyAEQQFqIQRBmAEhKgyVAgsgBEEBaiEEQaABISoMlAILIARBAWohBEGjASEqDJMCCyAEQQFqIQRBqgEhKgySAgsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBqwEhKgySAgtBwAEhKgyqAgsgACAdIAIQqoCAgAAiAQ2PASAdIQEMXgsCQCAeIAJGDQAgHkEBaiEdDJEBC0HCASEqDKgCCwNAAkAgKi0AAEF2ag4EkAEAAJMBAAsgKkEBaiIqIAJHDQALQcMBISoMpwILAkAgHyACRg0AIABBkYCAgAA2AgggACAfNgIEIB8hAUEBISoMjgILQcQBISoMpgILAkAgHyACRw0AQcUBISoMpgILAkACQCAfLQAAQXZqDgQB1QHVAQDVAQsgH0EBaiEeDJEBCyAfQQFqIR0MjQELAkAgHyACRw0AQcYBISoMpQILAkACQCAfLQAAQXZqDhcBkwGTAQGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwEAkwELIB9BAWohHwtBsAEhKgyLAgsCQCAgIAJHDQBByAEhKgykAgsgIC0AAEEgRw2RASAAQQA7ATIgIEEBaiEBQbMBISoMigILIAEhMgJAA0AgMiIfIAJGDQEgHy0AAEFQakH/AXEiKkEKTw3TAQJAIAAvATIiLkGZM0sNACAAIC5BCmwiLjsBMiAqQf//A3MgLkH+/wNxSQ0AIB9BAWohMiAAIC4gKmoiKjsBMiAqQf//A3FB6AdJDQELC0EAISogAEEANgIcIABBwYmAgAA2AhAgAEENNgIMIAAgH0EBajYCFAyjAgtBxwEhKgyiAgsgACAgIAIQroCAgAAiKkUN0QEgKkEVRw2QASAAQcgBNgIcIAAgIDYCFCAAQcmXgIAANgIQIABBFTYCDEEAISoMoQILAkAgISACRw0AQcwBISoMoQILQQAhLkEBITJBASEvQQAhKgJAAkACQAJAAkACQAJAAkACQCAhLQAAQVBqDgqaAZkBAAECAwQFBgibAQtBAiEqDAYLQQMhKgwFC0EEISoMBAtBBSEqDAMLQQYhKgwCC0EHISoMAQtBCCEqC0EAITJBACEvQQAhLgySAQtBCSEqQQEhLkEAITJBACEvDJEBCwJAICIgAkcNAEHOASEqDKACCyAiLQAAQS5HDZIBICJBAWohIQzRAQsCQCAjIAJHDQBB0AEhKgyfAgtBACEqAkACQAJAAkACQAJAAkACQCAjLQAAQVBqDgqbAZoBAAECAwQFBgecAQtBAiEqDJoBC0EDISoMmQELQQQhKgyYAQtBBSEqDJcBC0EGISoMlgELQQchKgyVAQtBCCEqDJQBC0EJISoMkwELAkAgIyACRg0AIABBjoCAgAA2AgggACAjNgIEQbcBISoMhQILQdEBISoMnQILAkAgBCACRw0AQdIBISoMnQILIAIgBGsgACgCACIuaiEyIAQhIyAuISoDQCAjLQAAICpB/M+AgABqLQAARw2UASAqQQRGDfEBICpBAWohKiAjQQFqIiMgAkcNAAsgACAyNgIAQdIBISoMnAILIAAgJCACEKyAgIAAIgENkwEgJCEBDL8BCwJAICUgAkcNAEHUASEqDJsCCyACICVrIAAoAgAiJGohLiAlIQQgJCEqA0AgBC0AACAqQYHQgIAAai0AAEcNlQEgKkEBRg2UASAqQQFqISogBEEBaiIEIAJHDQALIAAgLjYCAEHUASEqDJoCCwJAICYgAkcNAEHWASEqDJoCCyACICZrIAAoAgAiI2ohLiAmIQQgIyEqA0AgBC0AACAqQYPQgIAAai0AAEcNlAEgKkECRg2WASAqQQFqISogBEEBaiIEIAJHDQALIAAgLjYCAEHWASEqDJkCCwJAIAQgAkcNAEHXASEqDJkCCwJAAkAgBC0AAEG7f2oOEACVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBAZUBCyAEQQFqISVBuwEhKgyAAgsgBEEBaiEmQbwBISoM/wELAkAgBCACRw0AQdgBISoMmAILIAQtAABByABHDZIBIARBAWohBAzMAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhKgz+AQtB2QEhKgyWAgsCQCAEIAJHDQBB2gEhKgyWAgsgBC0AAEHIAEYNywEgAEEBOgAoDMABCyAAQQI6AC8gACAEIAIQpoCAgAAiKg2TAUHCASEqDPsBCyAALQAoQX9qDgK+AcABvwELA0ACQCAELQAAQXZqDgQAlAGUAQCUAQsgBEEBaiIEIAJHDQALQd0BISoMkgILIABBADoALyAALQAtQQRxRQ2LAgsgAEEAOgAvIABBAToANCABIQEMkgELICpBFUYN4gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAISoMjwILAkAgACAqIAIQtICAgAAiAQ0AICohAQyIAgsCQCABQRVHDQAgAEEDNgIcIAAgKjYCFCAAQbCYgIAANgIQIABBFTYCDEEAISoMjwILIABBADYCHCAAICo2AhQgAEGnjoCAADYCECAAQRI2AgxBACEqDI4CCyAqQRVGDd4BIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEqDI0CCyAAKAIEITIgAEEANgIEICogK6dqIi8hASAAIDIgKiAvIC4bIioQtYCAgAAiLkUNkwEgAEEHNgIcIAAgKjYCFCAAIC42AgxBACEqDIwCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEqDPEBCyAqQRVGDdkBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEqDIkCCyAqQRVGDdcBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDIgCCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQyTAQsgAEEMNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIcCCyAqQRVGDdQBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDIYCCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQySAQsgAEENNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIUCCyAqQRVGDdEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEqDIQCCyAAKAIEISogAEEANgIEAkAgACAqIAEQuYCAgAAiKg0AIAFBAWohAQyRAQsgAEEONgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIMCCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhKgyCAgsgKkEVRg3NASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgyBAgsgAEEQNgIcIAAgATYCFCAAICo2AgxBACEqDIACCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQz4AQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDP8BCyAqQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEqDP4BCyAAKAIEISogAEEANgIEAkAgACAqIAEQuYCAgAAiKg0AIAFBAWohAQyOAQsgAEETNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDP0BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQz0AQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDPwBCyAqQRVGDcUBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDPsBCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQyMAQsgAEEWNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDPoBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzwAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDPkBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhKgz4AQtCASErCyAqQQFqIQECQCAAKQMgIixC//////////8PVg0AIAAgLEIEhiArhDcDICABIQEMigELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEqDPYBCyAAQQA2AhwgACAqNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhKgz1AQsgACgCBCEyIABBADYCBCAqICunaiIvIQEgACAyICogLyAuGyIqELWAgIAAIi5FDXkgAEEFNgIcIAAgKjYCFCAAIC42AgxBACEqDPQBCyAAQQA2AhwgACAqNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhKgzzAQsgACAqIAIQtICAgAAiAQ0BICohAQtBDiEqDNgBCwJAIAFBFUcNACAAQQI2AhwgACAqNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhKgzxAQsgAEEANgIcIAAgKjYCFCAAQaeOgIAANgIQIABBEjYCDEEAISoM8AELIAFBAWohKgJAIAAvATAiAUGAAXFFDQACQCAAICogAhC7gICAACIBDQAgKiEBDHYLIAFBFUcNwgEgAEEFNgIcIAAgKjYCFCAAQfmXgIAANgIQIABBFTYCDEEAISoM8AELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAICo2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEqDPABCyAAICogAhC9gICAABogKiEBAkACQAJAAkACQCAAICogAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAqIQELQSYhKgzYAQsgAEEjNgIcIAAgKjYCFCAAQaWWgIAANgIQIABBFTYCDEEAISoM8AELIABBADYCHCAAICo2AhQgAEHVi4CAADYCECAAQRE2AgxBACEqDO8BCyAALQAtQQFxRQ0BQcMBISoM1QELAkAgJyACRg0AA0ACQCAnLQAAQSBGDQAgJyEBDNEBCyAnQQFqIicgAkcNAAtBJSEqDO4BC0ElISoM7QELIAAoAgQhASAAQQA2AgQgACABICcQr4CAgAAiAUUNtQEgAEEmNgIcIAAgATYCDCAAICdBAWo2AhRBACEqDOwBCyAqQRVGDbMBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEqDOsBCyAAQSc2AhwgACABNgIUIAAgKjYCDEEAISoM6gELICohAUEBIS4CQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhLgwBC0EEIS4LIABBAToALCAAIAAvATAgLnI7ATALICohAQtBKyEqDNEBCyAAQQA2AhwgACAqNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhKgzpAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAISoM6AELIABBADoALCAqIQEMwgELICohAUEBIS4CQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEuDAELQQQhLgsgAEEBOgAsIAAgAC8BMCAucjsBMAsgKiEBC0EpISoMzAELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEqDOQBCwJAICgtAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABICgQsYCAgAAiAQ0AIChBAWohAQx7CyAAQSw2AhwgACABNgIMIAAgKEEBajYCFEEAISoM5AELIAAtAC1BAXFFDQFBxAEhKgzKAQsCQCAoIAJHDQBBLSEqDOMBCwJAAkADQAJAICgtAABBdmoOBAIAAAMACyAoQQFqIiggAkcNAAtBLSEqDOQBCyAAKAIEIQEgAEEANgIEAkAgACABICgQsYCAgAAiAQ0AICghAQx6CyAAQSw2AhwgACAoNgIUIAAgATYCDEEAISoM4wELIAAoAgQhASAAQQA2AgQCQCAAIAEgKBCxgICAACIBDQAgKEEBaiEBDHkLIABBLDYCHCAAIAE2AgwgACAoQQFqNgIUQQAhKgziAQsgACgCBCEBIABBADYCBCAAIAEgKBCxgICAACIBDagBICghAQzVAQsgKkEsRw0BIAFBAWohKkEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAqIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAqIQEMAQsgACAALwEwQQhyOwEwICohAQtBOSEqDMYBCyAAQQA6ACwgASEBC0E0ISoMxAELIABBADYCACAvIDBrQQlqIQFBBSEqDL8BCyAAQQA2AgAgLyAwa0EGaiEBQQchKgy+AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzMAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEqDNkBCyAAQQg6ACwgASEBC0EwISoMvgELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2ZASABIQEMAwsgAC0AMEEgcQ2aAUHFASEqDLwBCwJAICkgAkYNAAJAA0ACQCApLQAAQVBqIgFB/wFxQQpJDQAgKSEBQTUhKgy/AQsgACkDICIrQpmz5syZs+bMGVYNASAAICtCCn4iKzcDICArIAGtIixCf4VCgH6EVg0BIAAgKyAsQv8Bg3w3AyAgKUEBaiIpIAJHDQALQTkhKgzWAQsgACgCBCEEIABBADYCBCAAIAQgKUEBaiIBELGAgIAAIgQNmwEgASEBDMgBC0E5ISoM1AELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2WAQsgACABQff7A3FBgARyOwEwICkhAQtBNyEqDLkBCyAAIAAvATBBEHI7ATAMrgELICpBFUYNkQEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAISoM0AELIABBwwA2AhwgACABNgIMIAAgJ0EBajYCFEEAISoMzwELAkAgAS0AAEE6Rw0AIAAoAgQhKiAAQQA2AgQCQCAAICogARCvgICAACIqDQAgAUEBaiEBDGcLIABBwwA2AhwgACAqNgIMIAAgAUEBajYCFEEAISoMzwELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEqDM4BCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhKgzNAQsgAUEBaiEBCyAAQYASOwEqIAAgASACEKiAgIAAIioNASABIQELQccAISoMsQELICpBFUcNiQEgAEHRADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEqDMkBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxiCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDMgBCyAAQQA2AhwgACAuNgIUIABBwaiAgAA2AhAgAEEHNgIMIABBADYCAEEAISoMxwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDGELIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMxgELQQAhKiAAQQA2AhwgACABNgIUIABBgJGAgAA2AhAgAEEJNgIMDMUBCyAqQRVGDYMBIABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEqDMQBC0EBIS9BACEyQQAhLkEBISoLIAAgKjoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAvRQ0DDAILIC4NAQwCCyAyRQ0BCyAAKAIEISogAEEANgIEAkAgACAqIAEQrYCAgAAiKg0AIAEhAQxgCyAAQdgANgIcIAAgATYCFCAAICo2AgxBACEqDMMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQyyAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhKgzCAQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMsAELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAISoMwQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDK4BCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEqDMABC0EBISoLIAAgKjoAKiABQQFqIQEMXAsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqgELIABB3gA2AhwgACABNgIUIAAgBDYCDEEAISoMvQELIABBADYCACAyIC9rQQRqIQECQCAALQApQSNPDQAgASEBDFwLIABBADYCHCAAIAE2AhQgAEHTiYCAADYCECAAQQg2AgxBACEqDLwBCyAAQQA2AgALQQAhKiAAQQA2AhwgACABNgIUIABBkLOAgAA2AhAgAEEINgIMDLoBCyAAQQA2AgAgMiAva0EDaiEBAkAgAC0AKUEhRw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABBm4qAgAA2AhAgAEEINgIMQQAhKgy5AQsgAEEANgIAIDIgL2tBBGohAQJAIAAtACkiKkFdakELTw0AIAEhAQxYCwJAICpBBksNAEEBICp0QcoAcUUNACABIQEMWAtBACEqIABBADYCHCAAIAE2AhQgAEH3iYCAADYCECAAQQg2AgwMuAELICpBFUYNdSAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhKgy3AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVwsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgy2AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgy1AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgy0AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVAsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyzAQsgAEEANgIcIAAgATYCFCAAQcaKgIAANgIQIABBBzYCDEEAISoMsgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMsQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMsAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFALIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMrwELIABBADYCHCAAIAE2AhQgAEHciICAADYCECAAQQc2AgxBACEqDK4BCyAqQT9HDQEgAUEBaiEB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AAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/client.js\nvar require_client = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/client.js"(exports, module2) {\n "use strict";\n init_define_process();\n var assert = require("assert");\n var net = require("net");\n var util = require_util();\n var timers = require_timers();\n var Request2 = require_undici_core_request();\n var DispatcherBase = require_dispatcher_base();\n var {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n InvalidArgumentError: InvalidArgumentError2,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError,\n ClientDestroyedError\n } = require_errors();\n var buildConnector = require_connect();\n var {\n kUrl,\n kReset,\n kServerName,\n kClient,\n kBusy,\n kParser,\n kConnect,\n kBlocking,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize\n } = require_symbols2();\n var FastBuffer = Buffer[Symbol.species];\n var kClosedResolve = Symbol("kClosedResolve");\n var channels = {};\n try {\n const diagnosticsChannel = require("diagnostics_channel");\n channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");\n channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");\n channels.connectError = diagnosticsChannel.channel("undici:client:connectError");\n channels.connected = diagnosticsChannel.channel("undici:client:connected");\n } catch {\n channels.sendHeaders = { hasSubscribers: false };\n channels.beforeConnect = { hasSubscribers: false };\n channels.connectError = { hasSubscribers: false };\n channels.connected = { hasSubscribers: false };\n }\n var Client = class extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import(\'../types/client\').Client.Options} options\n */\n constructor(url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect: connect2,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout\n } = {}) {\n super();\n if (keepAlive !== void 0) {\n throw new InvalidArgumentError2("unsupported keepAlive, use pipelining=0 instead");\n }\n if (socketTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");\n }\n if (requestTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");\n }\n if (idleTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported idleTimeout, use keepAliveTimeout instead");\n }\n if (maxKeepAliveTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");\n }\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError2("invalid maxHeaderSize");\n }\n if (socketPath != null && typeof socketPath !== "string") {\n throw new InvalidArgumentError2("invalid socketPath");\n }\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError2("invalid connectTimeout");\n }\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError2("invalid keepAliveTimeout");\n }\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError2("invalid keepAliveMaxTimeout");\n }\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError2("invalid keepAliveTimeoutThreshold");\n }\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError2("headersTimeout must be a positive integer or zero");\n }\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError2("bodyTimeout must be a positive integer or zero");\n }\n if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError2("maxRequestsPerClient must be a positive number");\n }\n if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError2("localAddress must be valid string IP address");\n }\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError2("maxResponseSize must be a positive number");\n }\n if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {\n throw new InvalidArgumentError2("autoSelectFamilyAttemptTimeout must be a positive number");\n }\n if (typeof connect2 !== "function") {\n connect2 = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout,\n ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,\n ...connect2\n });\n }\n this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];\n this[kUrl] = util.parseOrigin(url);\n this[kConnector] = connect2;\n this[kSocket] = null;\n this[kPipelining] = pipelining != null ? pipelining : 1;\n this[kMaxHeadersSize] = maxHeaderSize || 16384;\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];\n this[kServerName] = null;\n this[kLocalAddress] = localAddress != null ? localAddress : null;\n this[kResuming] = 0;\n this[kNeedDrain] = 0;\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\\r\n`;\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;\n this[kMaxRedirections] = maxRedirections;\n this[kMaxRequests] = maxRequestsPerClient;\n this[kClosedResolve] = null;\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;\n this[kQueue] = [];\n this[kRunningIdx] = 0;\n this[kPendingIdx] = 0;\n }\n get pipelining() {\n return this[kPipelining];\n }\n set pipelining(value) {\n this[kPipelining] = value;\n resume(this, true);\n }\n get [kPending]() {\n return this[kQueue].length - this[kPendingIdx];\n }\n get [kRunning]() {\n return this[kPendingIdx] - this[kRunningIdx];\n }\n get [kSize]() {\n return this[kQueue].length - this[kRunningIdx];\n }\n get [kConnected]() {\n return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;\n }\n get [kBusy]() {\n const socket = this[kSocket];\n return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;\n }\n /* istanbul ignore: only used for test */\n [kConnect](cb) {\n connect(this);\n this.once("connect", cb);\n }\n [kDispatch](opts, handler) {\n const origin = opts.origin || this[kUrl].origin;\n const request = new Request2(origin, opts, handler);\n this[kQueue].push(request);\n if (this[kResuming]) {\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n this[kResuming] = 1;\n define_process_default.nextTick(resume, this);\n } else {\n resume(this, true);\n }\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2;\n }\n return this[kNeedDrain] < 2;\n }\n async [kClose]() {\n return new Promise((resolve) => {\n if (!this[kSize]) {\n resolve(null);\n } else {\n this[kClosedResolve] = resolve;\n }\n });\n }\n async [kDestroy](err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(this, request, err);\n }\n const callback = /* @__PURE__ */ __name(() => {\n if (this[kClosedResolve]) {\n this[kClosedResolve]();\n this[kClosedResolve] = null;\n }\n resolve();\n }, "callback");\n if (!this[kSocket]) {\n queueMicrotask(callback);\n } else {\n util.destroy(this[kSocket].on("close", callback), err);\n }\n resume(this);\n });\n }\n };\n __name(Client, "Client");\n var constants = require_constants2();\n var createRedirectInterceptor = require_redirectInterceptor();\n var EMPTY_BUF = Buffer.alloc(0);\n async function lazyllhttp() {\n const llhttpWasmData = define_process_default.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;\n let mod;\n try {\n mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64"));\n } catch (e) {\n mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64"));\n }\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n wasm_on_url: (p, at, len) => {\n return 0;\n },\n wasm_on_status: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_message_begin: (p) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onMessageBegin() || 0;\n },\n wasm_on_header_field: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_header_value: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;\n },\n wasm_on_body: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_message_complete: (p) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onMessageComplete() || 0;\n }\n /* eslint-enable camelcase */\n }\n });\n }\n __name(lazyllhttp, "lazyllhttp");\n var llhttpInstance = null;\n var llhttpPromise = lazyllhttp();\n llhttpPromise.catch();\n var currentParser = null;\n var currentBufferRef = null;\n var currentBufferSize = 0;\n var currentBufferPtr = null;\n var TIMEOUT_HEADERS = 1;\n var TIMEOUT_BODY = 2;\n var TIMEOUT_IDLE = 3;\n var Parser = class {\n constructor(client, socket, { exports: exports2 }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);\n this.llhttp = exports2;\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);\n this.client = client;\n this.socket = socket;\n this.timeout = null;\n this.timeoutValue = null;\n this.timeoutType = null;\n this.statusCode = null;\n this.statusText = "";\n this.upgrade = false;\n this.headers = [];\n this.headersSize = 0;\n this.headersMaxSize = client[kMaxHeadersSize];\n this.shouldKeepAlive = false;\n this.paused = false;\n this.resume = this.resume.bind(this);\n this.bytesRead = 0;\n this.keepAlive = "";\n this.contentLength = "";\n this.connection = "";\n this.maxResponseSize = client[kMaxResponseSize];\n }\n setTimeout(value, type) {\n this.timeoutType = type;\n if (value !== this.timeoutValue) {\n timers.clearTimeout(this.timeout);\n if (value) {\n this.timeout = timers.setTimeout(onParserTimeout, value, this);\n if (this.timeout.unref) {\n this.timeout.unref();\n }\n } else {\n this.timeout = null;\n }\n this.timeoutValue = value;\n } else if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n }\n resume() {\n if (this.socket.destroyed || !this.paused) {\n return;\n }\n assert(this.ptr != null);\n assert(currentParser == null);\n this.llhttp.llhttp_resume(this.ptr);\n assert(this.timeoutType === TIMEOUT_BODY);\n if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n this.paused = false;\n this.execute(this.socket.read() || EMPTY_BUF);\n this.readMore();\n }\n readMore() {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read();\n if (chunk === null) {\n break;\n }\n this.execute(chunk);\n }\n }\n execute(data) {\n assert(this.ptr != null);\n assert(currentParser == null);\n assert(!this.paused);\n const { socket, llhttp } = this;\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr);\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096;\n currentBufferPtr = llhttp.malloc(currentBufferSize);\n }\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);\n try {\n let ret;\n try {\n currentBufferRef = data;\n currentParser = this;\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);\n } catch (err) {\n throw err;\n } finally {\n currentParser = null;\n currentBufferRef = null;\n }\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(data.slice(offset));\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true;\n socket.unshift(data.slice(offset));\n } else if (ret !== constants.ERROR.OK) {\n const ptr = llhttp.llhttp_get_error_reason(this.ptr);\n let message = "";\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);\n message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";\n }\n throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));\n }\n } catch (err) {\n util.destroy(socket, err);\n }\n }\n destroy() {\n assert(this.ptr != null);\n assert(currentParser == null);\n this.llhttp.llhttp_free(this.ptr);\n this.ptr = null;\n timers.clearTimeout(this.timeout);\n this.timeout = null;\n this.timeoutValue = null;\n this.timeoutType = null;\n this.paused = false;\n }\n onStatus(buf) {\n this.statusText = buf.toString();\n }\n onMessageBegin() {\n const { socket, client } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n if (!request) {\n return -1;\n }\n }\n onHeaderField(buf) {\n const len = this.headers.length;\n if ((len & 1) === 0) {\n this.headers.push(buf);\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);\n }\n this.trackHeader(buf.length);\n }\n onHeaderValue(buf) {\n let len = this.headers.length;\n if ((len & 1) === 1) {\n this.headers.push(buf);\n len += 1;\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);\n }\n const key = this.headers[len - 2];\n if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {\n this.keepAlive += buf.toString();\n } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {\n this.connection += buf.toString();\n } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {\n this.contentLength += buf.toString();\n }\n this.trackHeader(buf.length);\n }\n trackHeader(len) {\n this.headersSize += len;\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError());\n }\n }\n onUpgrade(head) {\n const { upgrade, client, socket, headers, statusCode } = this;\n assert(upgrade);\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert(!socket.destroyed);\n assert(socket === client[kSocket]);\n assert(!this.paused);\n assert(request.upgrade || request.method === "CONNECT");\n this.statusCode = null;\n this.statusText = "";\n this.shouldKeepAlive = null;\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n socket.unshift(head);\n socket[kParser].destroy();\n socket[kParser] = null;\n socket[kClient] = null;\n socket[kError] = null;\n socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);\n client[kSocket] = null;\n client[kQueue][client[kRunningIdx]++] = null;\n client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));\n try {\n request.onUpgrade(statusCode, headers, socket);\n } catch (err) {\n util.destroy(socket, err);\n }\n resume(client);\n }\n onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n if (!request) {\n return -1;\n }\n assert(!this.upgrade);\n assert(this.statusCode < 200);\n if (statusCode === 100) {\n util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));\n return -1;\n }\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));\n return -1;\n }\n assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);\n this.statusCode = statusCode;\n this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.\n request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];\n this.setTimeout(bodyTimeout, TIMEOUT_BODY);\n } else if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n if (request.method === "CONNECT") {\n assert(client[kRunning] === 1);\n this.upgrade = true;\n return 2;\n }\n if (upgrade) {\n assert(client[kRunning] === 1);\n this.upgrade = true;\n return 2;\n }\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n );\n if (timeout <= 0) {\n socket[kReset] = true;\n } else {\n client[kKeepAliveTimeoutValue] = timeout;\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];\n }\n } else {\n socket[kReset] = true;\n }\n let pause;\n try {\n pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;\n } catch (err) {\n util.destroy(socket, err);\n return -1;\n }\n if (request.method === "HEAD") {\n return 1;\n }\n if (statusCode < 200) {\n return 1;\n }\n if (socket[kBlocking]) {\n socket[kBlocking] = false;\n resume(client);\n }\n return pause ? constants.ERROR.PAUSED : 0;\n }\n onBody(buf) {\n const { client, socket, statusCode, maxResponseSize } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert.strictEqual(this.timeoutType, TIMEOUT_BODY);\n if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n assert(statusCode >= 200);\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError());\n return -1;\n }\n this.bytesRead += buf.length;\n try {\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED;\n }\n } catch (err) {\n util.destroy(socket, err);\n return -1;\n }\n }\n onMessageComplete() {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1;\n }\n if (upgrade) {\n return;\n }\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert(statusCode >= 100);\n this.statusCode = null;\n this.statusText = "";\n this.bytesRead = 0;\n this.contentLength = "";\n this.keepAlive = "";\n this.connection = "";\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n if (statusCode < 200) {\n return;\n }\n if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError());\n return -1;\n }\n try {\n request.onComplete(headers);\n } catch (err) {\n errorRequest(client, request, err);\n }\n client[kQueue][client[kRunningIdx]++] = null;\n if (socket[kWriting]) {\n assert.strictEqual(client[kRunning], 0);\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (socket[kReset] && client[kRunning] === 0) {\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (client[kPipelining] === 1) {\n setImmediate(resume, client);\n } else {\n resume(client);\n }\n }\n };\n __name(Parser, "Parser");\n function onParserTimeout(parser) {\n const { socket, timeoutType, client } = parser;\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!parser.paused, "cannot be paused while waiting for headers");\n util.destroy(socket, new HeadersTimeoutError());\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!parser.paused) {\n util.destroy(socket, new BodyTimeoutError());\n }\n } else if (timeoutType === TIMEOUT_IDLE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);\n util.destroy(socket, new InformationalError("socket idle timeout"));\n }\n }\n __name(onParserTimeout, "onParserTimeout");\n function onSocketReadable() {\n const { [kParser]: parser } = this;\n parser.readMore();\n }\n __name(onSocketReadable, "onSocketReadable");\n function onSocketError(err) {\n const { [kParser]: parser } = this;\n assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");\n if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {\n parser.onMessageComplete();\n return;\n }\n this[kError] = err;\n onError(this[kClient], err);\n }\n __name(onSocketError, "onSocketError");\n function onError(client, err) {\n if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {\n assert(client[kPendingIdx] === client[kRunningIdx]);\n const requests = client[kQueue].splice(client[kRunningIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(client, request, err);\n }\n assert(client[kSize] === 0);\n }\n }\n __name(onError, "onError");\n function onSocketEnd() {\n const { [kParser]: parser } = this;\n if (parser.statusCode && !parser.shouldKeepAlive) {\n parser.onMessageComplete();\n return;\n }\n util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));\n }\n __name(onSocketEnd, "onSocketEnd");\n function onSocketClose() {\n const { [kClient]: client } = this;\n if (!this[kError] && this[kParser].statusCode && !this[kParser].shouldKeepAlive) {\n this[kParser].onMessageComplete();\n }\n this[kParser].destroy();\n this[kParser] = null;\n const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));\n client[kSocket] = null;\n if (client.destroyed) {\n assert(client[kPending] === 0);\n const requests = client[kQueue].splice(client[kRunningIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(client, request, err);\n }\n } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {\n const request = client[kQueue][client[kRunningIdx]];\n client[kQueue][client[kRunningIdx]++] = null;\n errorRequest(client, request, err);\n }\n client[kPendingIdx] = client[kRunningIdx];\n assert(client[kRunning] === 0);\n client.emit("disconnect", client[kUrl], [client], err);\n resume(client);\n }\n __name(onSocketClose, "onSocketClose");\n async function connect(client) {\n assert(!client[kConnecting]);\n assert(!client[kSocket]);\n let { host, hostname, protocol, port } = client[kUrl];\n if (hostname[0] === "[") {\n const idx = hostname.indexOf("]");\n assert(idx !== -1);\n const ip = hostname.substr(1, idx - 1);\n assert(net.isIP(ip));\n hostname = ip;\n }\n client[kConnecting] = true;\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n });\n }\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket2) => {\n if (err) {\n reject(err);\n } else {\n resolve(socket2);\n }\n });\n });\n if (client.destroyed) {\n util.destroy(socket.on("error", () => {\n }), new ClientDestroyedError());\n return;\n }\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise;\n llhttpPromise = null;\n }\n client[kConnecting] = false;\n assert(socket);\n socket[kNoRef] = false;\n socket[kWriting] = false;\n socket[kReset] = false;\n socket[kBlocking] = false;\n socket[kError] = null;\n socket[kParser] = new Parser(client, socket, llhttpInstance);\n socket[kClient] = client;\n socket[kCounter] = 0;\n socket[kMaxRequests] = client[kMaxRequests];\n socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);\n client[kSocket] = socket;\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n });\n }\n client.emit("connect", client[kUrl], [client]);\n } catch (err) {\n if (client.destroyed) {\n return;\n }\n client[kConnecting] = false;\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n });\n }\n if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {\n assert(client[kRunning] === 0);\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++];\n errorRequest(client, request, err);\n }\n } else {\n onError(client, err);\n }\n client.emit("connectionError", client[kUrl], [client], err);\n }\n resume(client);\n }\n __name(connect, "connect");\n function emitDrain(client) {\n client[kNeedDrain] = 0;\n client.emit("drain", client[kUrl], [client]);\n }\n __name(emitDrain, "emitDrain");\n function resume(client, sync) {\n if (client[kResuming] === 2) {\n return;\n }\n client[kResuming] = 2;\n _resume(client, sync);\n client[kResuming] = 0;\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx]);\n client[kPendingIdx] -= client[kRunningIdx];\n client[kRunningIdx] = 0;\n }\n }\n __name(resume, "resume");\n function _resume(client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0);\n return;\n }\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]();\n client[kClosedResolve] = null;\n return;\n }\n const socket = client[kSocket];\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref();\n socket[kNoRef] = true;\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref();\n socket[kNoRef] = false;\n }\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request2 = client[kQueue][client[kRunningIdx]];\n const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);\n }\n }\n }\n if (client[kBusy]) {\n client[kNeedDrain] = 2;\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1;\n define_process_default.nextTick(emitDrain, client);\n } else {\n emitDrain(client);\n }\n continue;\n }\n if (client[kPending] === 0) {\n return;\n }\n if (client[kRunning] >= (client[kPipelining] || 1)) {\n return;\n }\n const request = client[kQueue][client[kPendingIdx]];\n if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return;\n }\n client[kServerName] = request.servername;\n if (socket && socket.servername !== request.servername) {\n util.destroy(socket, new InformationalError("servername changed"));\n return;\n }\n }\n if (client[kConnecting]) {\n return;\n }\n if (!socket) {\n connect(client);\n return;\n }\n if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return;\n }\n if (client[kRunning] > 0 && !request.idempotent) {\n return;\n }\n if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {\n return;\n }\n if (util.isStream(request.body) && util.bodyLength(request.body) === 0) {\n request.body.on(\n "data",\n /* istanbul ignore next */\n function() {\n assert(false);\n }\n ).on("error", function(err) {\n errorRequest(client, request, err);\n }).on("end", function() {\n util.destroy(this);\n });\n request.body = null;\n }\n if (client[kRunning] > 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) {\n return;\n }\n if (!request.aborted && write(client, request)) {\n client[kPendingIdx]++;\n } else {\n client[kQueue].splice(client[kPendingIdx], 1);\n }\n }\n }\n __name(_resume, "_resume");\n function write(client, request) {\n const { body, method, path, host, upgrade, headers, blocking, reset } = request;\n const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";\n if (body && typeof body.read === "function") {\n body.read(0);\n }\n let contentLength = util.bodyLength(body);\n if (contentLength === null) {\n contentLength = request.contentLength;\n }\n if (contentLength === 0 && !expectsPayload) {\n contentLength = null;\n }\n if (request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n errorRequest(client, request, new RequestContentLengthMismatchError());\n return false;\n }\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n const socket = client[kSocket];\n try {\n request.onConnect((err) => {\n if (request.aborted || request.completed) {\n return;\n }\n errorRequest(client, request, err || new RequestAbortedError());\n util.destroy(socket, new InformationalError("aborted"));\n });\n } catch (err) {\n errorRequest(client, request, err);\n }\n if (request.aborted) {\n return false;\n }\n if (method === "HEAD") {\n socket[kReset] = true;\n }\n if (upgrade || method === "CONNECT") {\n socket[kReset] = true;\n }\n if (reset != null) {\n socket[kReset] = reset;\n }\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true;\n }\n if (blocking) {\n socket[kBlocking] = true;\n }\n let header = `${method} ${path} HTTP/1.1\\r\n`;\n if (typeof host === "string") {\n header += `host: ${host}\\r\n`;\n } else {\n header += client[kHostHeader];\n }\n if (upgrade) {\n header += `connection: upgrade\\r\nupgrade: ${upgrade}\\r\n`;\n } else if (client[kPipelining] && !socket[kReset]) {\n header += "connection: keep-alive\\r\\n";\n } else {\n header += "connection: close\\r\\n";\n }\n if (headers) {\n header += headers;\n }\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket });\n }\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\n\\r\n`, "latin1");\n } else {\n assert(contentLength === null, "no body must not have content length");\n socket.write(`${header}\\r\n`, "latin1");\n }\n request.onRequestSent();\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, "buffer body must have content length");\n socket.cork();\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n socket.write(body);\n socket.uncork();\n request.onBodySent(body);\n request.onRequestSent();\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === "function") {\n writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload });\n } else {\n writeBlob({ body, client, request, socket, contentLength, header, expectsPayload });\n }\n } else if (util.isStream(body)) {\n writeStream({ body, client, request, socket, contentLength, header, expectsPayload });\n } else if (util.isIterable(body)) {\n writeIterable({ body, client, request, socket, contentLength, header, expectsPayload });\n } else {\n assert(false);\n }\n return true;\n }\n __name(write, "write");\n function writeStream({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");\n let finished = false;\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });\n const onData = /* @__PURE__ */ __name(function(chunk) {\n if (finished) {\n return;\n }\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause();\n }\n } catch (err) {\n util.destroy(this, err);\n }\n }, "onData");\n const onDrain = /* @__PURE__ */ __name(function() {\n if (finished) {\n return;\n }\n if (body.resume) {\n body.resume();\n }\n }, "onDrain");\n const onAbort = /* @__PURE__ */ __name(function() {\n onFinished(new RequestAbortedError());\n }, "onAbort");\n const onFinished = /* @__PURE__ */ __name(function(err) {\n if (finished) {\n return;\n }\n finished = true;\n assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);\n socket.off("drain", onDrain).off("error", onFinished);\n body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);\n if (!err) {\n try {\n writer.end();\n } catch (er) {\n err = er;\n }\n }\n writer.destroy(err);\n if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {\n util.destroy(body, err);\n } else {\n util.destroy(body);\n }\n }, "onFinished");\n body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);\n if (body.resume) {\n body.resume();\n }\n socket.on("drain", onDrain).on("error", onFinished);\n }\n __name(writeStream, "writeStream");\n async function writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength === body.size, "blob body must have content length");\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError();\n }\n const buffer = Buffer.from(await body.arrayBuffer());\n socket.cork();\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n socket.write(buffer);\n socket.uncork();\n request.onBodySent(buffer);\n request.onRequestSent();\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n resume(client);\n } catch (err) {\n util.destroy(socket, err);\n }\n }\n __name(writeBlob, "writeBlob");\n async function writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");\n let callback = null;\n function onDrain() {\n if (callback) {\n const cb = callback;\n callback = null;\n cb();\n }\n }\n __name(onDrain, "onDrain");\n const waitForDrain = /* @__PURE__ */ __name(() => new Promise((resolve, reject) => {\n assert(callback === null);\n if (socket[kError]) {\n reject(socket[kError]);\n } else {\n callback = resolve;\n }\n }), "waitForDrain");\n socket.on("close", onDrain).on("drain", onDrain);\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });\n try {\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError];\n }\n if (!writer.write(chunk)) {\n await waitForDrain();\n }\n }\n writer.end();\n } catch (err) {\n writer.destroy(err);\n } finally {\n socket.off("close", onDrain).off("drain", onDrain);\n }\n }\n __name(writeIterable, "writeIterable");\n var AsyncWriter = class {\n constructor({ socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket;\n this.request = request;\n this.contentLength = contentLength;\n this.client = client;\n this.bytesWritten = 0;\n this.expectsPayload = expectsPayload;\n this.header = header;\n socket[kWriting] = true;\n }\n write(chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;\n if (socket[kError]) {\n throw socket[kError];\n }\n if (socket.destroyed) {\n return false;\n }\n const len = Buffer.byteLength(chunk);\n if (!len) {\n return true;\n }\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError();\n }\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n socket.cork();\n if (bytesWritten === 0) {\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\n`, "latin1");\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n }\n }\n if (contentLength === null) {\n socket.write(`\\r\n${len.toString(16)}\\r\n`, "latin1");\n }\n this.bytesWritten += len;\n const ret = socket.write(chunk);\n socket.uncork();\n request.onBodySent(chunk);\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh();\n }\n }\n }\n return ret;\n }\n end() {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;\n request.onRequestSent();\n socket[kWriting] = false;\n if (socket[kError]) {\n throw socket[kError];\n }\n if (socket.destroyed) {\n return;\n }\n if (bytesWritten === 0) {\n if (expectsPayload) {\n socket.write(`${header}content-length: 0\\r\n\\r\n`, "latin1");\n } else {\n socket.write(`${header}\\r\n`, "latin1");\n }\n } else if (contentLength === null) {\n socket.write("\\r\\n0\\r\\n\\r\\n", "latin1");\n }\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError();\n } else {\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n }\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh();\n }\n }\n resume(client);\n }\n destroy(err) {\n const { socket, client } = this;\n socket[kWriting] = false;\n if (err) {\n assert(client[kRunning] <= 1, "pipeline should only contain this request");\n util.destroy(socket, err);\n }\n }\n };\n __name(AsyncWriter, "AsyncWriter");\n function errorRequest(client, request, err) {\n try {\n request.onError(err);\n assert(request.aborted);\n } catch (err2) {\n client.emit("error", err2);\n }\n }\n __name(errorRequest, "errorRequest");\n module2.exports = Client;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool.js\nvar require_pool = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool.js"(exports, module2) {\n "use strict";\n init_define_process();\n var {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n } = require_pool_base();\n var Client = require_client();\n var {\n InvalidArgumentError: InvalidArgumentError2\n } = require_errors();\n var util = require_util();\n var { kUrl, kInterceptors } = require_symbols2();\n var buildConnector = require_connect();\n var kOptions = Symbol("options");\n var kConnections = Symbol("connections");\n var kFactory = Symbol("factory");\n function defaultFactory(origin, opts) {\n return new Client(origin, opts);\n }\n __name(defaultFactory, "defaultFactory");\n var Pool = class extends PoolBase {\n constructor(origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n ...options\n } = {}) {\n super();\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError2("invalid connections");\n }\n if (typeof factory !== "function") {\n throw new InvalidArgumentError2("factory must be a function.");\n }\n if (connect != null && typeof connect !== "function" && typeof connect !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (typeof connect !== "function") {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout == null ? 1e4 : connectTimeout,\n ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,\n ...connect\n });\n }\n this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];\n this[kConnections] = connections || null;\n this[kUrl] = util.parseOrigin(origin);\n this[kOptions] = { ...util.deepClone(options), connect };\n this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;\n this[kFactory] = factory;\n }\n [kGetDispatcher]() {\n let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);\n if (dispatcher) {\n return dispatcher;\n }\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n dispatcher = this[kFactory](this[kUrl], this[kOptions]);\n this[kAddClient](dispatcher);\n }\n return dispatcher;\n }\n };\n __name(Pool, "Pool");\n module2.exports = Pool;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/agent.js\nvar require_agent = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/agent.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols2();\n var DispatcherBase = require_dispatcher_base();\n var Pool = require_pool();\n var Client = require_client();\n var util = require_util();\n var createRedirectInterceptor = require_redirectInterceptor();\n var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()();\n var kOnConnect = Symbol("onConnect");\n var kOnDisconnect = Symbol("onDisconnect");\n var kOnConnectionError = Symbol("onConnectionError");\n var kMaxRedirections = Symbol("maxRedirections");\n var kOnDrain = Symbol("onDrain");\n var kFactory = Symbol("factory");\n var kFinalizer = Symbol("finalizer");\n var kOptions = Symbol("options");\n function defaultFactory(origin, opts) {\n return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);\n }\n __name(defaultFactory, "defaultFactory");\n var Agent2 = class extends DispatcherBase {\n constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n super();\n if (typeof factory !== "function") {\n throw new InvalidArgumentError2("factory must be a function.");\n }\n if (connect != null && typeof connect !== "function" && typeof connect !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n if (connect && typeof connect !== "function") {\n connect = { ...connect };\n }\n this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];\n this[kOptions] = { ...util.deepClone(options), connect };\n this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;\n this[kMaxRedirections] = maxRedirections;\n this[kFactory] = factory;\n this[kClients] = /* @__PURE__ */ new Map();\n this[kFinalizer] = new FinalizationRegistry(\n /* istanbul ignore next: gc is undeterministic */\n (key) => {\n const ref = this[kClients].get(key);\n if (ref !== void 0 && ref.deref() === void 0) {\n this[kClients].delete(key);\n }\n }\n );\n const agent = this;\n this[kOnDrain] = (origin, targets) => {\n agent.emit("drain", origin, [agent, ...targets]);\n };\n this[kOnConnect] = (origin, targets) => {\n agent.emit("connect", origin, [agent, ...targets]);\n };\n this[kOnDisconnect] = (origin, targets, err) => {\n agent.emit("disconnect", origin, [agent, ...targets], err);\n };\n this[kOnConnectionError] = (origin, targets, err) => {\n agent.emit("connectionError", origin, [agent, ...targets], err);\n };\n }\n get [kRunning]() {\n let ret = 0;\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n ret += client[kRunning];\n }\n }\n return ret;\n }\n [kDispatch](opts, handler) {\n let key;\n if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {\n key = String(opts.origin);\n } else {\n throw new InvalidArgumentError2("opts.origin must be a non-empty string or URL.");\n }\n const ref = this[kClients].get(key);\n let dispatcher = ref ? ref.deref() : null;\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);\n this[kClients].set(key, new WeakRef2(dispatcher));\n this[kFinalizer].register(dispatcher, key);\n }\n return dispatcher.dispatch(opts, handler);\n }\n async [kClose]() {\n const closePromises = [];\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n closePromises.push(client.close());\n }\n }\n await Promise.all(closePromises);\n }\n async [kDestroy](err) {\n const destroyPromises = [];\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n destroyPromises.push(client.destroy(err));\n }\n }\n await Promise.all(destroyPromises);\n }\n };\n __name(Agent2, "Agent");\n module2.exports = Agent2;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/global.js\nvar require_global2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/global.js"(exports, module2) {\n "use strict";\n init_define_process();\n var globalDispatcher2 = Symbol.for("undici.globalDispatcher.1");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var Agent2 = require_agent();\n if (getGlobalDispatcher2() === void 0) {\n setGlobalDispatcher2(new Agent2());\n }\n function setGlobalDispatcher2(agent) {\n if (!agent || typeof agent.dispatch !== "function") {\n throw new InvalidArgumentError2("Argument agent must implement Agent");\n }\n Object.defineProperty(globalThis, globalDispatcher2, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n });\n }\n __name(setGlobalDispatcher2, "setGlobalDispatcher");\n function getGlobalDispatcher2() {\n return globalThis[globalDispatcher2];\n }\n __name(getGlobalDispatcher2, "getGlobalDispatcher");\n module2.exports = {\n setGlobalDispatcher: setGlobalDispatcher2,\n getGlobalDispatcher: getGlobalDispatcher2\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/index.js\nvar require_fetch = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var {\n Response: Response3,\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse\n } = require_response();\n var { Headers: Headers3 } = require_headers();\n var { Request: Request2, makeRequest } = require_request();\n var zlib = require("zlib");\n var {\n bytesMatch,\n makePolicyContainer,\n clonePolicyContainer,\n requestBadPort,\n TAOCheck,\n appendRequestOriginHeader,\n responseLocationURL,\n requestCurrentURL,\n setRequestReferrerPolicyOnRedirect,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n createOpaqueTimingInfo,\n appendFetchMetadata,\n corsCheck,\n crossOriginResourcePolicyCheck,\n determineRequestsReferrer,\n coarsenedSharedCurrentTime,\n createDeferredPromise,\n isBlobLike,\n sameOrigin,\n isCancelled,\n isAborted,\n isErrorLike,\n fullyReadBody,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlIsHttpHttpsScheme,\n urlHasHttpsScheme\n } = require_util2();\n var { kState, kHeaders: kHeaders2, kGuard: kGuard2, kRealm } = require_symbols();\n var assert = require("assert");\n var { safelyExtractBody } = require_body();\n var {\n redirectStatus,\n nullBodyStatus,\n safeMethods,\n requestBodyHeader,\n subresource,\n DOMException\n } = require_constants();\n var { kHeadersList } = require_symbols2();\n var EE = require("events");\n var { Readable, pipeline } = require("stream");\n var { isErrored, isReadable, nodeMajor, nodeMinor } = require_util();\n var { dataURLProcessor, serializeAMimeType } = require_dataURL();\n var { TransformStream } = require("./streams");\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { webidl } = require_webidl();\n var { STATUS_CODES } = require("http");\n var resolveObjectURL;\n var ReadableStream = globalThis.ReadableStream;\n var Fetch = class extends EE {\n constructor(dispatcher) {\n super();\n this.dispatcher = dispatcher;\n this.connection = null;\n this.dump = false;\n this.state = "ongoing";\n this.setMaxListeners(21);\n }\n terminate(reason) {\n var _a;\n if (this.state !== "ongoing") {\n return;\n }\n this.state = "terminated";\n (_a = this.connection) == null ? void 0 : _a.destroy(reason);\n this.emit("terminated", reason);\n }\n // https://fetch.spec.whatwg.org/#fetch-controller-abort\n abort(error) {\n var _a;\n if (this.state !== "ongoing") {\n return;\n }\n this.state = "aborted";\n if (!error) {\n error = new DOMException("The operation was aborted.", "AbortError");\n }\n this.serializedAbortReason = error;\n (_a = this.connection) == null ? void 0 : _a.destroy(error);\n this.emit("terminated", error);\n }\n };\n __name(Fetch, "Fetch");\n async function fetch2(input, init = {}) {\n var _a;\n webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });\n const p = createDeferredPromise();\n let requestObject;\n try {\n requestObject = new Request2(input, init);\n } catch (e) {\n p.reject(e);\n return p.promise;\n }\n const request = requestObject[kState];\n if (requestObject.signal.aborted) {\n abortFetch(p, request, null, requestObject.signal.reason);\n return p.promise;\n }\n const globalObject = request.client.globalObject;\n if (((_a = globalObject == null ? void 0 : globalObject.constructor) == null ? void 0 : _a.name) === "ServiceWorkerGlobalScope") {\n request.serviceWorkers = "none";\n }\n let responseObject = null;\n const relevantRealm = null;\n let locallyAborted = false;\n let controller = null;\n requestObject.signal.addEventListener(\n "abort",\n () => {\n locallyAborted = true;\n abortFetch(p, request, responseObject, requestObject.signal.reason);\n if (controller != null) {\n controller.abort();\n }\n },\n { once: true }\n );\n const handleFetchDone = /* @__PURE__ */ __name((response) => finalizeAndReportTiming(response, "fetch"), "handleFetchDone");\n const processResponse = /* @__PURE__ */ __name((response) => {\n if (locallyAborted) {\n return;\n }\n if (response.aborted) {\n abortFetch(p, request, responseObject, controller.serializedAbortReason);\n return;\n }\n if (response.type === "error") {\n p.reject(\n Object.assign(new TypeError("fetch failed"), { cause: response.error })\n );\n return;\n }\n responseObject = new Response3();\n responseObject[kState] = response;\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kHeadersList] = response.headersList;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n p.resolve(responseObject);\n }, "processResponse");\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: init.dispatcher ?? getGlobalDispatcher2()\n // undici\n });\n return p.promise;\n }\n __name(fetch2, "fetch");\n function finalizeAndReportTiming(response, initiatorType = "other") {\n var _a;\n if (response.type === "error" && response.aborted) {\n return;\n }\n if (!((_a = response.urlList) == null ? void 0 : _a.length)) {\n return;\n }\n const originalURL = response.urlList[0];\n let timingInfo = response.timingInfo;\n let cacheState = response.cacheState;\n if (!urlIsHttpHttpsScheme(originalURL)) {\n return;\n }\n if (timingInfo === null) {\n return;\n }\n if (!timingInfo.timingAllowPassed) {\n timingInfo = createOpaqueTimingInfo({\n startTime: timingInfo.startTime\n });\n cacheState = "";\n }\n timingInfo.endTime = coarsenedSharedCurrentTime();\n response.timingInfo = timingInfo;\n markResourceTiming(\n timingInfo,\n originalURL,\n initiatorType,\n globalThis,\n cacheState\n );\n }\n __name(finalizeAndReportTiming, "finalizeAndReportTiming");\n function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {\n if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {\n performance.markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState);\n }\n }\n __name(markResourceTiming, "markResourceTiming");\n function abortFetch(p, request, responseObject, error) {\n var _a, _b;\n if (!error) {\n error = new DOMException("The operation was aborted.", "AbortError");\n }\n p.reject(error);\n if (request.body != null && isReadable((_a = request.body) == null ? void 0 : _a.stream)) {\n request.body.stream.cancel(error).catch((err) => {\n if (err.code === "ERR_INVALID_STATE") {\n return;\n }\n throw err;\n });\n }\n if (responseObject == null) {\n return;\n }\n const response = responseObject[kState];\n if (response.body != null && isReadable((_b = response.body) == null ? void 0 : _b.stream)) {\n response.body.stream.cancel(error).catch((err) => {\n if (err.code === "ERR_INVALID_STATE") {\n return;\n }\n throw err;\n });\n }\n }\n __name(abortFetch, "abortFetch");\n function fetching({\n request,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseEndOfBody,\n processResponseConsumeBody,\n useParallelQueue = false,\n dispatcher\n // undici\n }) {\n var _a, _b, _c, _d;\n let taskDestination = null;\n let crossOriginIsolatedCapability = false;\n if (request.client != null) {\n taskDestination = request.client.globalObject;\n crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;\n }\n const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);\n const timingInfo = createOpaqueTimingInfo({\n startTime: currenTime\n });\n const fetchParams = {\n controller: new Fetch(dispatcher),\n request,\n timingInfo,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseConsumeBody,\n processResponseEndOfBody,\n taskDestination,\n crossOriginIsolatedCapability\n };\n assert(!request.body || request.body.stream);\n if (request.window === "client") {\n request.window = ((_c = (_b = (_a = request.client) == null ? void 0 : _a.globalObject) == null ? void 0 : _b.constructor) == null ? void 0 : _c.name) === "Window" ? request.client : "no-window";\n }\n if (request.origin === "client") {\n request.origin = (_d = request.client) == null ? void 0 : _d.origin;\n }\n if (request.policyContainer === "client") {\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n );\n } else {\n request.policyContainer = makePolicyContainer();\n }\n }\n if (!request.headersList.contains("accept")) {\n const value = "*/*";\n request.headersList.append("accept", value);\n }\n if (!request.headersList.contains("accept-language")) {\n request.headersList.append("accept-language", "*");\n }\n if (request.priority === null) {\n }\n if (subresource.includes(request.destination)) {\n }\n mainFetch(fetchParams).catch((err) => {\n fetchParams.controller.terminate(err);\n });\n return fetchParams.controller;\n }\n __name(fetching, "fetching");\n async function mainFetch(fetchParams, recursive = false) {\n const request = fetchParams.request;\n let response = null;\n if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {\n response = makeNetworkError("local URLs only");\n }\n tryUpgradeRequestToAPotentiallyTrustworthyURL(request);\n if (requestBadPort(request) === "blocked") {\n response = makeNetworkError("bad port");\n }\n if (request.referrerPolicy === "") {\n request.referrerPolicy = request.policyContainer.referrerPolicy;\n }\n if (request.referrer !== "no-referrer") {\n request.referrer = determineRequestsReferrer(request);\n }\n if (response === null) {\n response = await (async () => {\n const currentURL = requestCurrentURL(request);\n if (\n // - request’s current URL’s origin is same origin with request’s origin,\n // and request’s response tainting is "basic"\n sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data"\n currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"\n (request.mode === "navigate" || request.mode === "websocket")\n ) {\n request.responseTainting = "basic";\n return await schemeFetch(fetchParams);\n }\n if (request.mode === "same-origin") {\n return makeNetworkError(\'request mode cannot be "same-origin"\');\n }\n if (request.mode === "no-cors") {\n if (request.redirect !== "follow") {\n return makeNetworkError(\n \'redirect mode cannot be "follow" for "no-cors" request\'\n );\n }\n request.responseTainting = "opaque";\n return await schemeFetch(fetchParams);\n }\n if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {\n return makeNetworkError("URL scheme must be a HTTP(S) scheme");\n }\n request.responseTainting = "cors";\n return await httpFetch(fetchParams);\n })();\n }\n if (recursive) {\n return response;\n }\n if (response.status !== 0 && !response.internalResponse) {\n if (request.responseTainting === "cors") {\n }\n if (request.responseTainting === "basic") {\n response = filterResponse(response, "basic");\n } else if (request.responseTainting === "cors") {\n response = filterResponse(response, "cors");\n } else if (request.responseTainting === "opaque") {\n response = filterResponse(response, "opaque");\n } else {\n assert(false);\n }\n }\n let internalResponse = response.status === 0 ? response : response.internalResponse;\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList);\n }\n if (!request.timingAllowFailed) {\n response.timingAllowPassed = true;\n }\n if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) {\n response = internalResponse = makeNetworkError();\n }\n if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {\n internalResponse.body = null;\n fetchParams.controller.dump = true;\n }\n if (request.integrity) {\n const processBodyError = /* @__PURE__ */ __name((reason) => fetchFinale(fetchParams, makeNetworkError(reason)), "processBodyError");\n if (request.responseTainting === "opaque" || response.body == null) {\n processBodyError(response.error);\n return;\n }\n const processBody = /* @__PURE__ */ __name((bytes) => {\n if (!bytesMatch(bytes, request.integrity)) {\n processBodyError("integrity mismatch");\n return;\n }\n response.body = safelyExtractBody(bytes)[0];\n fetchFinale(fetchParams, response);\n }, "processBody");\n await fullyReadBody(response.body, processBody, processBodyError);\n } else {\n fetchFinale(fetchParams, response);\n }\n }\n __name(mainFetch, "mainFetch");\n async function schemeFetch(fetchParams) {\n if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {\n return makeAppropriateNetworkError(fetchParams);\n }\n const { request } = fetchParams;\n const { protocol: scheme } = requestCurrentURL(request);\n switch (scheme) {\n case "about:": {\n return makeNetworkError("about scheme is not supported");\n }\n case "blob:": {\n if (!resolveObjectURL) {\n resolveObjectURL = require("buffer").resolveObjectURL;\n }\n const blobURLEntry = requestCurrentURL(request);\n if (blobURLEntry.search.length !== 0) {\n return makeNetworkError("NetworkError when attempting to fetch resource.");\n }\n const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());\n if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) {\n return makeNetworkError("invalid method");\n }\n const bodyWithType = safelyExtractBody(blobURLEntryObject);\n const body = bodyWithType[0];\n const length = isomorphicEncode(`${body.length}`);\n const type = bodyWithType[1] ?? "";\n const response = makeResponse({\n statusText: "OK",\n headersList: [\n ["content-length", { name: "Content-Length", value: length }],\n ["content-type", { name: "Content-Type", value: type }]\n ]\n });\n response.body = body;\n return response;\n }\n case "data:": {\n const currentURL = requestCurrentURL(request);\n const dataURLStruct = dataURLProcessor(currentURL);\n if (dataURLStruct === "failure") {\n return makeNetworkError("failed to fetch the data URL");\n }\n const mimeType = serializeAMimeType(dataURLStruct.mimeType);\n return makeResponse({\n statusText: "OK",\n headersList: [\n ["content-type", { name: "Content-Type", value: mimeType }]\n ],\n body: safelyExtractBody(dataURLStruct.body)[0]\n });\n }\n case "file:": {\n return makeNetworkError("not implemented... yet...");\n }\n case "http:":\n case "https:": {\n return await httpFetch(fetchParams).catch((err) => makeNetworkError(err));\n }\n default: {\n return makeNetworkError("unknown scheme");\n }\n }\n }\n __name(schemeFetch, "schemeFetch");\n function finalizeResponse(fetchParams, response) {\n fetchParams.request.done = true;\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response));\n }\n }\n __name(finalizeResponse, "finalizeResponse");\n async function fetchFinale(fetchParams, response) {\n if (response.type === "error") {\n response.urlList = [fetchParams.request.urlList[0]];\n response.timingInfo = createOpaqueTimingInfo({\n startTime: fetchParams.timingInfo.startTime\n });\n }\n const processResponseEndOfBody = /* @__PURE__ */ __name(() => {\n fetchParams.request.done = true;\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response));\n }\n }, "processResponseEndOfBody");\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => fetchParams.processResponse(response));\n }\n if (response.body == null) {\n processResponseEndOfBody();\n } else {\n const identityTransformAlgorithm = /* @__PURE__ */ __name((chunk, controller) => {\n controller.enqueue(chunk);\n }, "identityTransformAlgorithm");\n const transformStream = new TransformStream({\n start() {\n },\n transform: identityTransformAlgorithm,\n flush: processResponseEndOfBody\n }, {\n size() {\n return 1;\n }\n }, {\n size() {\n return 1;\n }\n });\n response.body = { stream: response.body.stream.pipeThrough(transformStream) };\n }\n if (fetchParams.processResponseConsumeBody != null) {\n const processBody = /* @__PURE__ */ __name((nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes), "processBody");\n const processBodyError = /* @__PURE__ */ __name((failure) => fetchParams.processResponseConsumeBody(response, failure), "processBodyError");\n if (response.body == null) {\n queueMicrotask(() => processBody(null));\n } else {\n await fullyReadBody(response.body, processBody, processBodyError);\n }\n }\n }\n __name(fetchFinale, "fetchFinale");\n async function httpFetch(fetchParams) {\n const request = fetchParams.request;\n let response = null;\n let actualResponse = null;\n const timingInfo = fetchParams.timingInfo;\n if (request.serviceWorkers === "all") {\n }\n if (response === null) {\n if (request.redirect === "follow") {\n request.serviceWorkers = "none";\n }\n actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);\n if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {\n return makeNetworkError("cors failure");\n }\n if (TAOCheck(request, response) === "failure") {\n request.timingAllowFailed = true;\n }\n }\n if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(\n request.origin,\n request.client,\n request.destination,\n actualResponse\n ) === "blocked") {\n return makeNetworkError("blocked");\n }\n if (redirectStatus.includes(actualResponse.status)) {\n if (request.redirect !== "manual") {\n fetchParams.controller.connection.destroy();\n }\n if (request.redirect === "error") {\n response = makeNetworkError("unexpected redirect");\n } else if (request.redirect === "manual") {\n response = actualResponse;\n } else if (request.redirect === "follow") {\n response = await httpRedirectFetch(fetchParams, response);\n } else {\n assert(false);\n }\n }\n response.timingInfo = timingInfo;\n return response;\n }\n __name(httpFetch, "httpFetch");\n async function httpRedirectFetch(fetchParams, response) {\n const request = fetchParams.request;\n const actualResponse = response.internalResponse ? response.internalResponse : response;\n let locationURL;\n try {\n locationURL = responseLocationURL(\n actualResponse,\n requestCurrentURL(request).hash\n );\n if (locationURL == null) {\n return response;\n }\n } catch (err) {\n return makeNetworkError(err);\n }\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return makeNetworkError("URL scheme must be a HTTP(S) scheme");\n }\n if (request.redirectCount === 20) {\n return makeNetworkError("redirect count exceeded");\n }\n request.redirectCount += 1;\n if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {\n return makeNetworkError(\'cross origin not allowed for request mode "cors"\');\n }\n if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {\n return makeNetworkError(\n \'URL cannot contain credentials for request mode "cors"\'\n );\n }\n if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {\n return makeNetworkError();\n }\n if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !["GET", "HEAD"].includes(request.method)) {\n request.method = "GET";\n request.body = null;\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName);\n }\n }\n if (!sameOrigin(requestCurrentURL(request), locationURL)) {\n request.headersList.delete("authorization");\n }\n if (request.body != null) {\n assert(request.body.source != null);\n request.body = safelyExtractBody(request.body.source)[0];\n }\n const timingInfo = fetchParams.timingInfo;\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime;\n }\n request.urlList.push(locationURL);\n setRequestReferrerPolicyOnRedirect(request, actualResponse);\n return mainFetch(fetchParams, true);\n }\n __name(httpRedirectFetch, "httpRedirectFetch");\n async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {\n const request = fetchParams.request;\n let httpFetchParams = null;\n let httpRequest = null;\n let response = null;\n const httpCache = null;\n const revalidatingFlag = false;\n if (request.window === "no-window" && request.redirect === "error") {\n httpFetchParams = fetchParams;\n httpRequest = request;\n } else {\n httpRequest = makeRequest(request);\n httpFetchParams = { ...fetchParams };\n httpFetchParams.request = httpRequest;\n }\n const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";\n const contentLength = httpRequest.body ? httpRequest.body.length : null;\n let contentLengthHeaderValue = null;\n if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {\n contentLengthHeaderValue = "0";\n }\n if (contentLength != null) {\n contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);\n }\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append("content-length", contentLengthHeaderValue);\n }\n if (contentLength != null && httpRequest.keepalive) {\n }\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));\n }\n appendRequestOriginHeader(httpRequest);\n appendFetchMetadata(httpRequest);\n if (!httpRequest.headersList.contains("user-agent")) {\n httpRequest.headersList.append("user-agent", "undici");\n }\n if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {\n httpRequest.cache = "no-store";\n }\n if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {\n httpRequest.headersList.append("cache-control", "max-age=0");\n }\n if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {\n if (!httpRequest.headersList.contains("pragma")) {\n httpRequest.headersList.append("pragma", "no-cache");\n }\n if (!httpRequest.headersList.contains("cache-control")) {\n httpRequest.headersList.append("cache-control", "no-cache");\n }\n }\n if (httpRequest.headersList.contains("range")) {\n httpRequest.headersList.append("accept-encoding", "identity");\n }\n if (!httpRequest.headersList.contains("accept-encoding")) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");\n } else {\n httpRequest.headersList.append("accept-encoding", "gzip, deflate");\n }\n }\n if (includeCredentials) {\n }\n if (httpCache == null) {\n httpRequest.cache = "no-store";\n }\n if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {\n }\n if (response == null) {\n if (httpRequest.mode === "only-if-cached") {\n return makeNetworkError("only if cached");\n }\n const forwardResponse = await httpNetworkFetch(\n httpFetchParams,\n includeCredentials,\n isNewConnectionFetch\n );\n if (!safeMethods.includes(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {\n }\n if (revalidatingFlag && forwardResponse.status === 304) {\n }\n if (response == null) {\n response = forwardResponse;\n }\n }\n response.urlList = [...httpRequest.urlList];\n if (httpRequest.headersList.contains("range")) {\n response.rangeRequested = true;\n }\n response.requestIncludesCredentials = includeCredentials;\n if (response.status === 407) {\n if (request.window === "no-window") {\n return makeNetworkError();\n }\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams);\n }\n return makeNetworkError("proxy authentication required");\n }\n if (\n // response’s status is 421\n response.status === 421 && // isNewConnectionFetch is false\n !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null\n (request.body == null || request.body.source != null)\n ) {\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams);\n }\n fetchParams.controller.connection.destroy();\n response = await httpNetworkOrCacheFetch(\n fetchParams,\n isAuthenticationFetch,\n true\n );\n }\n if (isAuthenticationFetch) {\n }\n return response;\n }\n __name(httpNetworkOrCacheFetch, "httpNetworkOrCacheFetch");\n async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {\n assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);\n fetchParams.controller.connection = {\n abort: null,\n destroyed: false,\n destroy(err) {\n var _a;\n if (!this.destroyed) {\n this.destroyed = true;\n (_a = this.abort) == null ? void 0 : _a.call(this, err ?? new DOMException("The operation was aborted.", "AbortError"));\n }\n }\n };\n const request = fetchParams.request;\n let response = null;\n const timingInfo = fetchParams.timingInfo;\n const httpCache = null;\n if (httpCache == null) {\n request.cache = "no-store";\n }\n const newConnection = forceNewConnection ? "yes" : "no";\n if (request.mode === "websocket") {\n } else {\n }\n let requestBody = null;\n if (request.body == null && fetchParams.processRequestEndOfBody) {\n queueMicrotask(() => fetchParams.processRequestEndOfBody());\n } else if (request.body != null) {\n const processBodyChunk = /* @__PURE__ */ __name(async function* (bytes) {\n var _a;\n if (isCancelled(fetchParams)) {\n return;\n }\n yield bytes;\n (_a = fetchParams.processRequestBodyChunkLength) == null ? void 0 : _a.call(fetchParams, bytes.byteLength);\n }, "processBodyChunk");\n const processEndOfBody = /* @__PURE__ */ __name(() => {\n if (isCancelled(fetchParams)) {\n return;\n }\n if (fetchParams.processRequestEndOfBody) {\n fetchParams.processRequestEndOfBody();\n }\n }, "processEndOfBody");\n const processBodyError = /* @__PURE__ */ __name((e) => {\n if (isCancelled(fetchParams)) {\n return;\n }\n if (e.name === "AbortError") {\n fetchParams.controller.abort();\n } else {\n fetchParams.controller.terminate(e);\n }\n }, "processBodyError");\n requestBody = async function* () {\n try {\n for await (const bytes of request.body.stream) {\n yield* processBodyChunk(bytes);\n }\n processEndOfBody();\n } catch (err) {\n processBodyError(err);\n }\n }();\n }\n try {\n const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });\n if (socket) {\n response = makeResponse({ status, statusText, headersList, socket });\n } else {\n const iterator = body[Symbol.asyncIterator]();\n fetchParams.controller.next = () => iterator.next();\n response = makeResponse({ status, statusText, headersList });\n }\n } catch (err) {\n if (err.name === "AbortError") {\n fetchParams.controller.connection.destroy();\n return makeAppropriateNetworkError(fetchParams);\n }\n return makeNetworkError(err);\n }\n const pullAlgorithm = /* @__PURE__ */ __name(() => {\n fetchParams.controller.resume();\n }, "pullAlgorithm");\n const cancelAlgorithm = /* @__PURE__ */ __name((reason) => {\n fetchParams.controller.abort(reason);\n }, "cancelAlgorithm");\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n const stream = new ReadableStream(\n {\n async start(controller) {\n fetchParams.controller.controller = controller;\n },\n async pull(controller) {\n await pullAlgorithm(controller);\n },\n async cancel(reason) {\n await cancelAlgorithm(reason);\n }\n },\n {\n highWaterMark: 0,\n size() {\n return 1;\n }\n }\n );\n response.body = { stream };\n fetchParams.controller.on("terminated", onAborted);\n fetchParams.controller.resume = async () => {\n while (true) {\n let bytes;\n let isFailure;\n try {\n const { done, value } = await fetchParams.controller.next();\n if (isAborted(fetchParams)) {\n break;\n }\n bytes = done ? void 0 : value;\n } catch (err) {\n if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {\n bytes = void 0;\n } else {\n bytes = err;\n isFailure = true;\n }\n }\n if (bytes === void 0) {\n readableStreamClose(fetchParams.controller.controller);\n finalizeResponse(fetchParams, response);\n return;\n }\n timingInfo.decodedBodySize += (bytes == null ? void 0 : bytes.byteLength) ?? 0;\n if (isFailure) {\n fetchParams.controller.terminate(bytes);\n return;\n }\n fetchParams.controller.controller.enqueue(new Uint8Array(bytes));\n if (isErrored(stream)) {\n fetchParams.controller.terminate();\n return;\n }\n if (!fetchParams.controller.controller.desiredSize) {\n return;\n }\n }\n };\n function onAborted(reason) {\n if (isAborted(fetchParams)) {\n response.aborted = true;\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(\n fetchParams.controller.serializedAbortReason\n );\n }\n } else {\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(new TypeError("terminated", {\n cause: isErrorLike(reason) ? reason : void 0\n }));\n }\n }\n fetchParams.controller.connection.destroy();\n }\n __name(onAborted, "onAborted");\n return response;\n async function dispatch({ body }) {\n const url = requestCurrentURL(request);\n const agent = fetchParams.controller.dispatcher;\n return new Promise((resolve, reject) => agent.dispatch(\n {\n path: url.pathname + url.search,\n origin: url.origin,\n method: request.method,\n body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body,\n headers: request.headersList.entries,\n maxRedirections: 0,\n upgrade: request.mode === "websocket" ? "websocket" : void 0\n },\n {\n body: null,\n abort: null,\n onConnect(abort) {\n const { connection } = fetchParams.controller;\n if (connection.destroyed) {\n abort(new DOMException("The operation was aborted.", "AbortError"));\n } else {\n fetchParams.controller.on("terminated", abort);\n this.abort = connection.abort = abort;\n }\n },\n onHeaders(status, headersList, resume, statusText) {\n if (status < 200) {\n return;\n }\n let codings = [];\n let location = "";\n const headers = new Headers3();\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString("latin1");\n const val = headersList[n + 1].toString("latin1");\n if (key.toLowerCase() === "content-encoding") {\n codings = val.toLowerCase().split(",").map((x) => x.trim());\n } else if (key.toLowerCase() === "location") {\n location = val;\n }\n headers.append(key, val);\n }\n this.body = new Readable({ read: resume });\n const decoders = [];\n const willFollow = request.redirect === "follow" && location && redirectStatus.includes(status);\n if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {\n for (const coding of codings) {\n if (coding === "x-gzip" || coding === "gzip") {\n decoders.push(zlib.createGunzip());\n } else if (coding === "deflate") {\n decoders.push(zlib.createInflate());\n } else if (coding === "br") {\n decoders.push(zlib.createBrotliDecompress());\n } else {\n decoders.length = 0;\n break;\n }\n }\n }\n resolve({\n status,\n statusText,\n headersList: headers[kHeadersList],\n body: decoders.length ? pipeline(this.body, ...decoders, () => {\n }) : this.body.on("error", () => {\n })\n });\n return true;\n },\n onData(chunk) {\n if (fetchParams.controller.dump) {\n return;\n }\n const bytes = chunk;\n timingInfo.encodedBodySize += bytes.byteLength;\n return this.body.push(bytes);\n },\n onComplete() {\n if (this.abort) {\n fetchParams.controller.off("terminated", this.abort);\n }\n fetchParams.controller.ended = true;\n this.body.push(null);\n },\n onError(error) {\n var _a;\n if (this.abort) {\n fetchParams.controller.off("terminated", this.abort);\n }\n (_a = this.body) == null ? void 0 : _a.destroy(error);\n fetchParams.controller.terminate(error);\n reject(error);\n },\n onUpgrade(status, headersList, socket) {\n if (status !== 101) {\n return;\n }\n const headers = new Headers3();\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString("latin1");\n const val = headersList[n + 1].toString("latin1");\n headers.append(key, val);\n }\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList: headers[kHeadersList],\n socket\n });\n return true;\n }\n }\n ));\n }\n __name(dispatch, "dispatch");\n }\n __name(httpNetworkFetch, "httpNetworkFetch");\n module2.exports = {\n fetch: fetch2,\n Fetch,\n fetching,\n finalizeAndReportTiming\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/constants.js\nvar require_constants3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/constants.js"(exports, module2) {\n "use strict";\n init_define_process();\n var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";\n var staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n };\n var states = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3\n };\n var opcodes = {\n CONTINUATION: 0,\n TEXT: 1,\n BINARY: 2,\n CLOSE: 8,\n PING: 9,\n PONG: 10\n };\n var maxUnsigned16Bit = 2 ** 16 - 1;\n var parserStates = {\n INFO: 0,\n PAYLOADLENGTH_16: 2,\n PAYLOADLENGTH_64: 3,\n READ_DATA: 4\n };\n var emptyBuffer = Buffer.allocUnsafe(0);\n module2.exports = {\n uid,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/symbols.js\nvar require_symbols3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/symbols.js"(exports, module2) {\n "use strict";\n init_define_process();\n module2.exports = {\n kWebSocketURL: Symbol("url"),\n kReadyState: Symbol("ready state"),\n kController: Symbol("controller"),\n kResponse: Symbol("response"),\n kBinaryType: Symbol("binary type"),\n kSentClose: Symbol("sent close"),\n kReceivedClose: Symbol("received close"),\n kByteParser: Symbol("byte parser")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/events.js\nvar require_events = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/events.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { webidl } = require_webidl();\n var { kEnumerableProperty } = require_util();\n var { MessagePort } = require("worker_threads");\n var MessageEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict);\n super(type, eventInitDict);\n this.#eventInit = eventInitDict;\n }\n get data() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.data;\n }\n get origin() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.origin;\n }\n get lastEventId() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.lastEventId;\n }\n get source() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.source;\n }\n get ports() {\n webidl.brandCheck(this, MessageEvent);\n if (!Object.isFrozen(this.#eventInit.ports)) {\n Object.freeze(this.#eventInit.ports);\n }\n return this.#eventInit.ports;\n }\n initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {\n webidl.brandCheck(this, MessageEvent);\n webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });\n return new MessageEvent(type, {\n bubbles,\n cancelable,\n data,\n origin,\n lastEventId,\n source,\n ports\n });\n }\n };\n __name(MessageEvent, "MessageEvent");\n var CloseEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict);\n super(type, eventInitDict);\n this.#eventInit = eventInitDict;\n }\n get wasClean() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.wasClean;\n }\n get code() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.code;\n }\n get reason() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.reason;\n }\n };\n __name(CloseEvent, "CloseEvent");\n var ErrorEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });\n super(type, eventInitDict);\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});\n this.#eventInit = eventInitDict;\n }\n get message() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.message;\n }\n get filename() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.filename;\n }\n get lineno() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.lineno;\n }\n get colno() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.colno;\n }\n get error() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.error;\n }\n };\n __name(ErrorEvent, "ErrorEvent");\n Object.defineProperties(MessageEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "MessageEvent",\n configurable: true\n },\n data: kEnumerableProperty,\n origin: kEnumerableProperty,\n lastEventId: kEnumerableProperty,\n source: kEnumerableProperty,\n ports: kEnumerableProperty,\n initMessageEvent: kEnumerableProperty\n });\n Object.defineProperties(CloseEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "CloseEvent",\n configurable: true\n },\n reason: kEnumerableProperty,\n code: kEnumerableProperty,\n wasClean: kEnumerableProperty\n });\n Object.defineProperties(ErrorEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "ErrorEvent",\n configurable: true\n },\n message: kEnumerableProperty,\n filename: kEnumerableProperty,\n lineno: kEnumerableProperty,\n colno: kEnumerableProperty,\n error: kEnumerableProperty\n });\n webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.MessagePort\n );\n var eventInit = [\n {\n key: "bubbles",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "cancelable",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "composed",\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n ];\n webidl.converters.MessageEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "data",\n converter: webidl.converters.any,\n defaultValue: null\n },\n {\n key: "origin",\n converter: webidl.converters.USVString,\n defaultValue: ""\n },\n {\n key: "lastEventId",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "source",\n // Node doesn\'t implement WindowProxy or ServiceWorker, so the only\n // valid value for source is a MessagePort.\n converter: webidl.nullableConverter(webidl.converters.MessagePort),\n defaultValue: null\n },\n {\n key: "ports",\n converter: webidl.converters["sequence"],\n get defaultValue() {\n return [];\n }\n }\n ]);\n webidl.converters.CloseEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "wasClean",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "code",\n converter: webidl.converters["unsigned short"],\n defaultValue: 0\n },\n {\n key: "reason",\n converter: webidl.converters.USVString,\n defaultValue: ""\n }\n ]);\n webidl.converters.ErrorEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "message",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "filename",\n converter: webidl.converters.USVString,\n defaultValue: ""\n },\n {\n key: "lineno",\n converter: webidl.converters["unsigned long"],\n defaultValue: 0\n },\n {\n key: "colno",\n converter: webidl.converters["unsigned long"],\n defaultValue: 0\n },\n {\n key: "error",\n converter: webidl.converters.any\n }\n ]);\n module2.exports = {\n MessageEvent,\n CloseEvent,\n ErrorEvent\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/util.js\nvar require_util3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols3();\n var { states, opcodes } = require_constants3();\n var { MessageEvent, ErrorEvent } = require_events();\n function isEstablished(ws) {\n return ws[kReadyState] === states.OPEN;\n }\n __name(isEstablished, "isEstablished");\n function isClosing(ws) {\n return ws[kReadyState] === states.CLOSING;\n }\n __name(isClosing, "isClosing");\n function isClosed(ws) {\n return ws[kReadyState] === states.CLOSED;\n }\n __name(isClosed, "isClosed");\n function fireEvent(e, target, eventConstructor = Event, eventInitDict) {\n const event = new eventConstructor(e, eventInitDict);\n target.dispatchEvent(event);\n }\n __name(fireEvent, "fireEvent");\n function websocketMessageReceived(ws, type, data) {\n if (ws[kReadyState] !== states.OPEN) {\n return;\n }\n let dataForEvent;\n if (type === opcodes.TEXT) {\n try {\n dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);\n } catch {\n failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");\n return;\n }\n } else if (type === opcodes.BINARY) {\n if (ws[kBinaryType] === "blob") {\n dataForEvent = new Blob([data]);\n } else {\n dataForEvent = new Uint8Array(data).buffer;\n }\n }\n fireEvent("message", ws, MessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n });\n }\n __name(websocketMessageReceived, "websocketMessageReceived");\n function isValidSubprotocol(protocol) {\n if (protocol.length === 0) {\n return false;\n }\n for (const char of protocol) {\n const code = char.charCodeAt(0);\n if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\\\" || char === \'"\' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP\n code === 9) {\n return false;\n }\n }\n return true;\n }\n __name(isValidSubprotocol, "isValidSubprotocol");\n function isValidStatusCode(code) {\n if (code >= 1e3 && code < 1015) {\n return code !== 1004 && // reserved\n code !== 1005 && // "MUST NOT be set as a status code"\n code !== 1006;\n }\n return code >= 3e3 && code <= 4999;\n }\n __name(isValidStatusCode, "isValidStatusCode");\n function failWebsocketConnection(ws, reason) {\n const { [kController]: controller, [kResponse]: response } = ws;\n controller.abort();\n if ((response == null ? void 0 : response.socket) && !response.socket.destroyed) {\n response.socket.destroy();\n }\n if (reason) {\n fireEvent("error", ws, ErrorEvent, {\n error: new Error(reason)\n });\n }\n }\n __name(failWebsocketConnection, "failWebsocketConnection");\n module2.exports = {\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/connection.js\nvar require_connection = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/connection.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { randomBytes, createHash } = require("crypto");\n var diagnosticsChannel = require("diagnostics_channel");\n var { uid, states } = require_constants3();\n var {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose\n } = require_symbols3();\n var { fireEvent, failWebsocketConnection } = require_util3();\n var { CloseEvent } = require_events();\n var { makeRequest } = require_request();\n var { fetching } = require_fetch();\n var { Headers: Headers3 } = require_headers();\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { kHeadersList } = require_symbols2();\n var channels = {};\n channels.open = diagnosticsChannel.channel("undici:websocket:open");\n channels.close = diagnosticsChannel.channel("undici:websocket:close");\n channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");\n function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {\n const requestURL = url;\n requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";\n const request = makeRequest({\n urlList: [requestURL],\n serviceWorkers: "none",\n referrer: "no-referrer",\n mode: "websocket",\n credentials: "include",\n cache: "no-store",\n redirect: "error"\n });\n if (options.headers) {\n const headersList = new Headers3(options.headers)[kHeadersList];\n request.headersList = headersList;\n }\n const keyValue = randomBytes(16).toString("base64");\n request.headersList.append("sec-websocket-key", keyValue);\n request.headersList.append("sec-websocket-version", "13");\n for (const protocol of protocols) {\n request.headersList.append("sec-websocket-protocol", protocol);\n }\n const permessageDeflate = "";\n const controller = fetching({\n request,\n useParallelQueue: true,\n dispatcher: options.dispatcher ?? getGlobalDispatcher2(),\n processResponse(response) {\n var _a, _b;\n if (response.type === "error" || response.status !== 101) {\n failWebsocketConnection(ws, "Received network error or non-101 status code.");\n return;\n }\n if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {\n failWebsocketConnection(ws, "Server did not respond with sent protocols.");\n return;\n }\n if (((_a = response.headersList.get("Upgrade")) == null ? void 0 : _a.toLowerCase()) !== "websocket") {\n failWebsocketConnection(ws, \'Server did not set Upgrade header to "websocket".\');\n return;\n }\n if (((_b = response.headersList.get("Connection")) == null ? void 0 : _b.toLowerCase()) !== "upgrade") {\n failWebsocketConnection(ws, \'Server did not set Connection header to "upgrade".\');\n return;\n }\n const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");\n const digest = createHash("sha1").update(keyValue + uid).digest("base64");\n if (secWSAccept !== digest) {\n failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");\n return;\n }\n const secExtension = response.headersList.get("Sec-WebSocket-Extensions");\n if (secExtension !== null && secExtension !== permessageDeflate) {\n failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");\n return;\n }\n const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");\n if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) {\n failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");\n return;\n }\n response.socket.on("data", onSocketData);\n response.socket.on("close", onSocketClose);\n response.socket.on("error", onSocketError);\n if (channels.open.hasSubscribers) {\n channels.open.publish({\n address: response.socket.address(),\n protocol: secProtocol,\n extensions: secExtension\n });\n }\n onEstablish(response);\n }\n });\n return controller;\n }\n __name(establishWebSocketConnection, "establishWebSocketConnection");\n function onSocketData(chunk) {\n if (!this.ws[kByteParser].write(chunk)) {\n this.pause();\n }\n }\n __name(onSocketData, "onSocketData");\n function onSocketClose() {\n const { ws } = this;\n const wasClean = ws[kSentClose] && ws[kReceivedClose];\n let code = 1005;\n let reason = "";\n const result = ws[kByteParser].closingInfo;\n if (result) {\n code = result.code ?? 1005;\n reason = result.reason;\n } else if (!ws[kSentClose]) {\n code = 1006;\n }\n ws[kReadyState] = states.CLOSED;\n fireEvent("close", ws, CloseEvent, {\n wasClean,\n code,\n reason\n });\n if (channels.close.hasSubscribers) {\n channels.close.publish({\n websocket: ws,\n code,\n reason\n });\n }\n }\n __name(onSocketClose, "onSocketClose");\n function onSocketError(error) {\n const { ws } = this;\n ws[kReadyState] = states.CLOSING;\n if (channels.socketError.hasSubscribers) {\n channels.socketError.publish(error);\n }\n this.destroy();\n }\n __name(onSocketError, "onSocketError");\n module2.exports = {\n establishWebSocketConnection\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/frame.js\nvar require_frame = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/frame.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { randomBytes } = require("crypto");\n var { maxUnsigned16Bit } = require_constants3();\n var WebsocketFrameSend = class {\n /**\n * @param {Buffer|undefined} data\n */\n constructor(data) {\n this.frameData = data;\n this.maskKey = randomBytes(4);\n }\n createFrame(opcode) {\n var _a;\n const bodyLength = ((_a = this.frameData) == null ? void 0 : _a.byteLength) ?? 0;\n let payloadLength = bodyLength;\n let offset = 6;\n if (bodyLength > maxUnsigned16Bit) {\n offset += 8;\n payloadLength = 127;\n } else if (bodyLength > 125) {\n offset += 2;\n payloadLength = 126;\n }\n const buffer = Buffer.allocUnsafe(bodyLength + offset);\n buffer[0] = buffer[1] = 0;\n buffer[0] |= 128;\n buffer[0] = (buffer[0] & 240) + opcode;\n buffer[offset - 4] = this.maskKey[0];\n buffer[offset - 3] = this.maskKey[1];\n buffer[offset - 2] = this.maskKey[2];\n buffer[offset - 1] = this.maskKey[3];\n buffer[1] = payloadLength;\n if (payloadLength === 126) {\n buffer.writeUInt16BE(bodyLength, 2);\n } else if (payloadLength === 127) {\n buffer[2] = buffer[3] = 0;\n buffer.writeUIntBE(bodyLength, 4, 6);\n }\n buffer[1] |= 128;\n for (let i = 0; i < bodyLength; i++) {\n buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];\n }\n return buffer;\n }\n };\n __name(WebsocketFrameSend, "WebsocketFrameSend");\n module2.exports = {\n WebsocketFrameSend\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/receiver.js\nvar require_receiver = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/receiver.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Writable } = require("stream");\n var diagnosticsChannel = require("diagnostics_channel");\n var { parserStates, opcodes, states, emptyBuffer } = require_constants3();\n var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols3();\n var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util3();\n var { WebsocketFrameSend } = require_frame();\n var channels = {};\n channels.ping = diagnosticsChannel.channel("undici:websocket:ping");\n channels.pong = diagnosticsChannel.channel("undici:websocket:pong");\n var ByteParser = class extends Writable {\n #buffers = [];\n #byteOffset = 0;\n #state = parserStates.INFO;\n #info = {};\n #fragments = [];\n constructor(ws) {\n super();\n this.ws = ws;\n }\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write(chunk, _, callback) {\n this.#buffers.push(chunk);\n this.#byteOffset += chunk.length;\n this.run(callback);\n }\n /**\n * Runs whenever a new chunk is received.\n * Callback is called whenever there are no more chunks buffering,\n * or not enough bytes are buffered to parse.\n */\n run(callback) {\n var _a;\n while (true) {\n if (this.#state === parserStates.INFO) {\n if (this.#byteOffset < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n this.#info.fin = (buffer[0] & 128) !== 0;\n this.#info.opcode = buffer[0] & 15;\n (_a = this.#info).originalOpcode ?? (_a.originalOpcode = this.#info.opcode);\n this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;\n if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {\n failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");\n return;\n }\n const payloadLength = buffer[1] & 127;\n if (payloadLength <= 125) {\n this.#info.payloadLength = payloadLength;\n this.#state = parserStates.READ_DATA;\n } else if (payloadLength === 126) {\n this.#state = parserStates.PAYLOADLENGTH_16;\n } else if (payloadLength === 127) {\n this.#state = parserStates.PAYLOADLENGTH_64;\n }\n if (this.#info.fragmented && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");\n return;\n } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");\n return;\n } else if (this.#info.opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");\n return;\n }\n const body = this.consume(payloadLength);\n this.#info.closeInfo = this.parseCloseBody(false, body);\n if (!this.ws[kSentClose]) {\n const body2 = Buffer.allocUnsafe(2);\n body2.writeUInt16BE(this.#info.closeInfo.code, 0);\n const closeFrame = new WebsocketFrameSend(body2);\n this.ws[kResponse].socket.write(\n closeFrame.createFrame(opcodes.CLOSE),\n (err) => {\n if (!err) {\n this.ws[kSentClose] = true;\n }\n }\n );\n }\n this.ws[kReadyState] = states.CLOSING;\n this.ws[kReceivedClose] = true;\n this.end();\n return;\n } else if (this.#info.opcode === opcodes.PING) {\n const body = this.consume(payloadLength);\n if (!this.ws[kReceivedClose]) {\n const frame = new WebsocketFrameSend(body);\n this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));\n if (channels.ping.hasSubscribers) {\n channels.ping.publish({\n payload: body\n });\n }\n }\n this.#state = parserStates.INFO;\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n return;\n }\n } else if (this.#info.opcode === opcodes.PONG) {\n const body = this.consume(payloadLength);\n if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n });\n }\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n return;\n }\n }\n } else if (this.#state === parserStates.PAYLOADLENGTH_16) {\n if (this.#byteOffset < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n this.#info.payloadLength = buffer.readUInt16BE(0);\n this.#state = parserStates.READ_DATA;\n } else if (this.#state === parserStates.PAYLOADLENGTH_64) {\n if (this.#byteOffset < 8) {\n return callback();\n }\n const buffer = this.consume(8);\n const upper = buffer.readUInt32BE(0);\n if (upper > 2 ** 31 - 1) {\n failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");\n return;\n }\n const lower = buffer.readUInt32BE(4);\n this.#info.payloadLength = (upper << 8) + lower;\n this.#state = parserStates.READ_DATA;\n } else if (this.#state === parserStates.READ_DATA) {\n if (this.#byteOffset < this.#info.payloadLength) {\n return callback();\n } else if (this.#byteOffset >= this.#info.payloadLength) {\n const body = this.consume(this.#info.payloadLength);\n this.#fragments.push(body);\n if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {\n const fullMessage = Buffer.concat(this.#fragments);\n websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);\n this.#info = {};\n this.#fragments.length = 0;\n }\n this.#state = parserStates.INFO;\n }\n }\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n break;\n }\n }\n }\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer|null}\n */\n consume(n) {\n if (n > this.#byteOffset) {\n return null;\n } else if (n === 0) {\n return emptyBuffer;\n }\n if (this.#buffers[0].length === n) {\n this.#byteOffset -= this.#buffers[0].length;\n return this.#buffers.shift();\n }\n const buffer = Buffer.allocUnsafe(n);\n let offset = 0;\n while (offset !== n) {\n const next = this.#buffers[0];\n const { length } = next;\n if (length + offset === n) {\n buffer.set(this.#buffers.shift(), offset);\n break;\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset);\n this.#buffers[0] = next.subarray(n - offset);\n break;\n } else {\n buffer.set(this.#buffers.shift(), offset);\n offset += next.length;\n }\n }\n this.#byteOffset -= n;\n return buffer;\n }\n parseCloseBody(onlyCode, data) {\n let code;\n if (data.length >= 2) {\n code = data.readUInt16BE(0);\n }\n if (onlyCode) {\n if (!isValidStatusCode(code)) {\n return null;\n }\n return { code };\n }\n let reason = data.subarray(2);\n if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {\n reason = reason.subarray(3);\n }\n if (code !== void 0 && !isValidStatusCode(code)) {\n return null;\n }\n try {\n reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);\n } catch {\n return null;\n }\n return { code, reason };\n }\n get closingInfo() {\n return this.#info.closeInfo;\n }\n };\n __name(ByteParser, "ByteParser");\n module2.exports = {\n ByteParser\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/websocket.js\nvar require_websocket = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/websocket.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { webidl } = require_webidl();\n var { DOMException } = require_constants();\n var { URLSerializer } = require_dataURL();\n var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants3();\n var {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n } = require_symbols3();\n var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util3();\n var { establishWebSocketConnection } = require_connection();\n var { WebsocketFrameSend } = require_frame();\n var { ByteParser } = require_receiver();\n var { kEnumerableProperty, isBlobLike } = require_util();\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { types } = require("util");\n var experimentalWarned = false;\n var WebSocket2 = class extends EventTarget {\n #events = {\n open: null,\n error: null,\n close: null,\n message: null\n };\n #bufferedAmount = 0;\n #protocol = "";\n #extensions = "";\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor(url, protocols = []) {\n super();\n webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });\n if (!experimentalWarned) {\n experimentalWarned = true;\n define_process_default.emitWarning("WebSockets are experimental, expect them to change at any time.", {\n code: "UNDICI-WS"\n });\n }\n const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);\n url = webidl.converters.USVString(url);\n protocols = options.protocols;\n let urlRecord;\n try {\n urlRecord = new URL(url);\n } catch (e) {\n throw new DOMException(e, "SyntaxError");\n }\n if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {\n throw new DOMException(\n `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,\n "SyntaxError"\n );\n }\n if (urlRecord.hash) {\n throw new DOMException("Got fragment", "SyntaxError");\n }\n if (typeof protocols === "string") {\n protocols = [protocols];\n }\n if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {\n throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");\n }\n if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {\n throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");\n }\n this[kWebSocketURL] = urlRecord;\n this[kController] = establishWebSocketConnection(\n urlRecord,\n protocols,\n this,\n (response) => this.#onConnectionEstablished(response),\n options\n );\n this[kReadyState] = WebSocket2.CONNECTING;\n this[kBinaryType] = "blob";\n }\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-close\n * @param {number|undefined} code\n * @param {string|undefined} reason\n */\n close(code = void 0, reason = void 0) {\n webidl.brandCheck(this, WebSocket2);\n if (code !== void 0) {\n code = webidl.converters["unsigned short"](code, { clamp: true });\n }\n if (reason !== void 0) {\n reason = webidl.converters.USVString(reason);\n }\n if (code !== void 0) {\n if (code !== 1e3 && (code < 3e3 || code > 4999)) {\n throw new DOMException("invalid code", "InvalidAccessError");\n }\n }\n let reasonByteLength = 0;\n if (reason !== void 0) {\n reasonByteLength = Buffer.byteLength(reason);\n if (reasonByteLength > 123) {\n throw new DOMException(\n `Reason must be less than 123 bytes; received ${reasonByteLength}`,\n "SyntaxError"\n );\n }\n }\n if (this[kReadyState] === WebSocket2.CLOSING || this[kReadyState] === WebSocket2.CLOSED) {\n } else if (!isEstablished(this)) {\n failWebsocketConnection(this, "Connection was closed before it was established.");\n this[kReadyState] = WebSocket2.CLOSING;\n } else if (!isClosing(this)) {\n const frame = new WebsocketFrameSend();\n if (code !== void 0 && reason === void 0) {\n frame.frameData = Buffer.allocUnsafe(2);\n frame.frameData.writeUInt16BE(code, 0);\n } else if (code !== void 0 && reason !== void 0) {\n frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);\n frame.frameData.writeUInt16BE(code, 0);\n frame.frameData.write(reason, 2, "utf-8");\n } else {\n frame.frameData = emptyBuffer;\n }\n const socket = this[kResponse].socket;\n socket.write(frame.createFrame(opcodes.CLOSE), (err) => {\n if (!err) {\n this[kSentClose] = true;\n }\n });\n this[kReadyState] = states.CLOSING;\n } else {\n this[kReadyState] = WebSocket2.CLOSING;\n }\n }\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-send\n * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data\n */\n send(data) {\n webidl.brandCheck(this, WebSocket2);\n webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });\n data = webidl.converters.WebSocketSendData(data);\n if (this[kReadyState] === WebSocket2.CONNECTING) {\n throw new DOMException("Sent before connected.", "InvalidStateError");\n }\n if (!isEstablished(this) || isClosing(this)) {\n return;\n }\n const socket = this[kResponse].socket;\n if (typeof data === "string") {\n const value = Buffer.from(data);\n const frame = new WebsocketFrameSend(value);\n const buffer = frame.createFrame(opcodes.TEXT);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n } else if (types.isArrayBuffer(data)) {\n const value = Buffer.from(data);\n const frame = new WebsocketFrameSend(value);\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n } else if (ArrayBuffer.isView(data)) {\n const ab = Buffer.from(data, data.byteOffset, data.byteLength);\n const frame = new WebsocketFrameSend(ab);\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += ab.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= ab.byteLength;\n });\n } else if (isBlobLike(data)) {\n const frame = new WebsocketFrameSend();\n data.arrayBuffer().then((ab) => {\n const value = Buffer.from(ab);\n frame.frameData = value;\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n });\n }\n }\n get readyState() {\n webidl.brandCheck(this, WebSocket2);\n return this[kReadyState];\n }\n get bufferedAmount() {\n webidl.brandCheck(this, WebSocket2);\n return this.#bufferedAmount;\n }\n get url() {\n webidl.brandCheck(this, WebSocket2);\n return URLSerializer(this[kWebSocketURL]);\n }\n get extensions() {\n webidl.brandCheck(this, WebSocket2);\n return this.#extensions;\n }\n get protocol() {\n webidl.brandCheck(this, WebSocket2);\n return this.#protocol;\n }\n get onopen() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.open;\n }\n set onopen(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.open) {\n this.removeEventListener("open", this.#events.open);\n }\n if (typeof fn === "function") {\n this.#events.open = fn;\n this.addEventListener("open", fn);\n } else {\n this.#events.open = null;\n }\n }\n get onerror() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.error;\n }\n set onerror(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.error) {\n this.removeEventListener("error", this.#events.error);\n }\n if (typeof fn === "function") {\n this.#events.error = fn;\n this.addEventListener("error", fn);\n } else {\n this.#events.error = null;\n }\n }\n get onclose() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.close;\n }\n set onclose(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.close) {\n this.removeEventListener("close", this.#events.close);\n }\n if (typeof fn === "function") {\n this.#events.close = fn;\n this.addEventListener("close", fn);\n } else {\n this.#events.close = null;\n }\n }\n get onmessage() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.message;\n }\n set onmessage(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.message) {\n this.removeEventListener("message", this.#events.message);\n }\n if (typeof fn === "function") {\n this.#events.message = fn;\n this.addEventListener("message", fn);\n } else {\n this.#events.message = null;\n }\n }\n get binaryType() {\n webidl.brandCheck(this, WebSocket2);\n return this[kBinaryType];\n }\n set binaryType(type) {\n webidl.brandCheck(this, WebSocket2);\n if (type !== "blob" && type !== "arraybuffer") {\n this[kBinaryType] = "blob";\n } else {\n this[kBinaryType] = type;\n }\n }\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n #onConnectionEstablished(response) {\n this[kResponse] = response;\n const parser = new ByteParser(this);\n parser.on("drain", /* @__PURE__ */ __name(function onParserDrain() {\n this.ws[kResponse].socket.resume();\n }, "onParserDrain"));\n response.socket.ws = this;\n this[kByteParser] = parser;\n this[kReadyState] = states.OPEN;\n const extensions = response.headersList.get("sec-websocket-extensions");\n if (extensions !== null) {\n this.#extensions = extensions;\n }\n const protocol = response.headersList.get("sec-websocket-protocol");\n if (protocol !== null) {\n this.#protocol = protocol;\n }\n fireEvent("open", this);\n }\n };\n __name(WebSocket2, "WebSocket");\n WebSocket2.CONNECTING = WebSocket2.prototype.CONNECTING = states.CONNECTING;\n WebSocket2.OPEN = WebSocket2.prototype.OPEN = states.OPEN;\n WebSocket2.CLOSING = WebSocket2.prototype.CLOSING = states.CLOSING;\n WebSocket2.CLOSED = WebSocket2.prototype.CLOSED = states.CLOSED;\n Object.defineProperties(WebSocket2.prototype, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors,\n url: kEnumerableProperty,\n readyState: kEnumerableProperty,\n bufferedAmount: kEnumerableProperty,\n onopen: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onclose: kEnumerableProperty,\n close: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n binaryType: kEnumerableProperty,\n send: kEnumerableProperty,\n extensions: kEnumerableProperty,\n protocol: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "WebSocket",\n writable: false,\n enumerable: false,\n configurable: true\n }\n });\n Object.defineProperties(WebSocket2, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors\n });\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.DOMString\n );\n webidl.converters["DOMString or sequence"] = function(V) {\n if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {\n return webidl.converters["sequence"](V);\n }\n return webidl.converters.DOMString(V);\n };\n webidl.converters.WebSocketInit = webidl.dictionaryConverter([\n {\n key: "protocols",\n converter: webidl.converters["DOMString or sequence"],\n get defaultValue() {\n return [];\n }\n },\n {\n key: "dispatcher",\n converter: (V) => V,\n get defaultValue() {\n return getGlobalDispatcher2();\n }\n },\n {\n key: "headers",\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n ]);\n webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {\n if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {\n return webidl.converters.WebSocketInit(V);\n }\n return { protocols: webidl.converters["DOMString or sequence"](V) };\n };\n webidl.converters.WebSocketSendData = function(V) {\n if (webidl.util.Type(V) === "Object") {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V);\n }\n }\n return webidl.converters.USVString(V);\n };\n module2.exports = {\n WebSocket: WebSocket2\n };\n }\n});\n\n// src/primitives/fetch.js\nvar fetch_exports = {};\n__export(fetch_exports, {\n File: () => import_file.File,\n FormData: () => import_formdata.FormData,\n Headers: () => Headers2,\n Request: () => Request,\n Response: () => Response2,\n WebSocket: () => import_websocket.WebSocket,\n fetch: () => fetch,\n getGlobalDispatcher: () => getGlobalDispatcher,\n setGlobalDispatcher: () => setGlobalDispatcher\n});\nmodule.exports = __toCommonJS(fetch_exports);\ninit_define_process();\nvar import_abort_controller = require("./abort-controller");\nvar import_abort_controller2 = require("./abort-controller");\nvar FetchSymbols = __toESM(require_symbols());\nvar HeadersModule = __toESM(require_headers());\nvar ResponseModule = __toESM(require_response());\nvar UtilModule = __toESM(require_util2());\nvar WebIDLModule = __toESM(require_webidl());\nvar import_request = __toESM(require_request());\nvar import_fetch = __toESM(require_fetch());\nvar import_agent = __toESM(require_agent());\nvar import_formdata = __toESM(require_formdata());\nvar import_file = __toESM(require_file());\nvar import_websocket = __toESM(require_websocket());\nglobal.AbortController = import_abort_controller.AbortController;\nglobal.AbortSignal = import_abort_controller2.AbortSignal;\ndefine_process_default.nextTick = setImmediate;\ndefine_process_default.emitWarning = () => {\n};\nvar Request = class extends import_request.Request {\n constructor(input, init) {\n super(input, addDuplexToInit(init));\n }\n};\n__name(Request, "Request");\nvar __entries = HeadersModule.Headers.prototype.entries;\nHeadersModule.Headers.prototype.entries = function* () {\n let sentSetCookie = false;\n for (const [key, value] of __entries.call(this)) {\n if (key === "set-cookie") {\n if (sentSetCookie) {\n continue;\n }\n sentSetCookie = true;\n const cookies = this.getSetCookie();\n yield [key, cookies.join(", ")];\n } else {\n yield [key, value];\n }\n }\n};\nHeadersModule.Headers.prototype[Symbol.iterator] = HeadersModule.Headers.prototype.entries;\nHeadersModule.Headers.prototype.values = function* () {\n for (const [, value] of __entries.call(this)) {\n yield value;\n }\n};\nHeadersModule.Headers.prototype.getAll = function(name) {\n const _name = normalizeAndValidateHeaderName(name, "Headers.getAll");\n if (_name !== "set-cookie") {\n throw new Error(`getAll can only be used with \'set-cookie\'`);\n }\n return this.getSetCookie();\n};\nvar __error = ResponseModule.Response.error;\nResponseModule.Response.error = function(...args) {\n const response = __error.call(this, ...args);\n response[FetchSymbols.kHeaders][FetchSymbols.kGuard] = "response";\n return response;\n};\nfunction normalizeAndValidateHeaderName(potentialName, errorPrefix) {\n const normalizedName = potentialName.toLowerCase();\n if (UtilModule.isValidHeaderName(normalizedName)) {\n return normalizedName;\n }\n WebIDLModule.errors.invalidArgument({\n prefix: errorPrefix,\n value: normalizedName,\n type: "header name"\n });\n}\n__name(normalizeAndValidateHeaderName, "normalizeAndValidateHeaderName");\nvar globalDispatcher = new import_agent.default();\nfunction getGlobalDispatcher() {\n return globalDispatcher;\n}\n__name(getGlobalDispatcher, "getGlobalDispatcher");\nfunction setGlobalDispatcher(agent) {\n if (!agent || typeof agent.dispatch !== "function") {\n throw new InvalidArgumentError("Argument agent must implement Agent");\n }\n globalDispatcher = agent;\n}\n__name(setGlobalDispatcher, "setGlobalDispatcher");\nfunction addDuplexToInit(init) {\n if (typeof init === "undefined" || typeof init === "object") {\n return { duplex: "half", ...init };\n }\n return init;\n}\n__name(addDuplexToInit, "addDuplexToInit");\nasync function fetch(info, init) {\n init = addDuplexToInit(init);\n const res = await import_fetch.fetch.call(getGlobalDispatcher(), info, init);\n const response = new Response2(res.body, res);\n Object.defineProperty(response, "url", { value: res.url });\n return response;\n}\n__name(fetch, "fetch");\nvar Headers2 = HeadersModule.Headers;\nvar Response2 = ResponseModule.Response;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n File,\n FormData,\n Headers,\n Request,\n Response,\n WebSocket,\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher\n});\n'},281:(module,__unused_webpack_exports,__nccwpck_require__)=>{"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(e,n)=>__defProp(e,"name",{value:n,configurable:true});var __export=(e,n)=>{for(var t in n)__defProp(e,t,{get:n[t],enumerable:true})};var __copyProps=(e,n,t,r)=>{if(n&&typeof n==="object"||typeof n==="function"){for(let A of __getOwnPropNames(n))if(!__hasOwnProp.call(e,A)&&A!==t)__defProp(e,A,{get:()=>n[A],enumerable:!(r=__getOwnPropDesc(n,A))||r.enumerable})}return e};var __toESM=(e,n,t)=>(t=e!=null?__create(__getProtoOf(e)):{},__copyProps(n||!e||!e.__esModule?__defProp(t,"default",{value:e,enumerable:true}):t,e));var __toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:true}),e);var load_exports={};__export(load_exports,{load:()=>load});module.exports=__toCommonJS(load_exports);var import_module=__toESM(__nccwpck_require__(188));var import_crypto=__toESM(__nccwpck_require__(113));function requireWithFakeGlobalScope(params){const getModuleCode=`(function(module,exports,require,globalThis,${Object.keys(params.scopedContext).join(",")}) {${params.sourceCode}\n})`;const module={exports:{},loaded:false,id:params.id};const moduleRequire=(import_module.default.createRequire||import_module.default.createRequireFromPath)(__filename);function throwingRequire(e){if(e.startsWith("./")){const n=e.replace(/^\.\//,"");if(!params.cache||!params.cache.has(n)){throw new Error(`Cannot find module '${n}'`)}return params.cache.get(n).exports}return moduleRequire(e)}__name(throwingRequire,"throwingRequire");throwingRequire.resolve=moduleRequire.resolve.bind(moduleRequire);eval(getModuleCode)(module,module.exports,throwingRequire,params.context,...Object.values(params.scopedContext));return module.exports}__name(requireWithFakeGlobalScope,"requireWithFakeGlobalScope");function load(e={}){const n={};const t=requireWithFakeGlobalScope({context:n,id:"encoding.js",sourceCode:__nccwpck_require__(694),scopedContext:e});assign(n,{TextDecoder:TextDecoder,TextEncoder:TextEncoder,atob:t.atob,btoa:t.btoa});const r=requireWithFakeGlobalScope({context:n,id:"console.js",sourceCode:__nccwpck_require__(484),scopedContext:e});assign(n,{console:r.console});const A=requireWithFakeGlobalScope({context:n,id:"events.js",sourceCode:__nccwpck_require__(986),scopedContext:e});assign(n,{Event:A.Event,EventTarget:A.EventTarget,FetchEvent:A.FetchEvent,PromiseRejectionEvent:A.PromiseRejectionEvent});const o=requireWithFakeGlobalScope({context:n,id:"streams.js",sourceCode:__nccwpck_require__(299),scopedContext:{...e}});const s=requireWithFakeGlobalScope({context:n,id:"text-encoding-streams.js",sourceCode:__nccwpck_require__(776),scopedContext:{...o,...e}});assign(n,{ReadableStream:o.ReadableStream,ReadableStreamBYOBReader:o.ReadableStreamBYOBReader,ReadableStreamDefaultReader:o.ReadableStreamDefaultReader,TextDecoderStream:s.TextDecoderStream,TextEncoderStream:s.TextEncoderStream,TransformStream:o.TransformStream,WritableStream:o.WritableStream,WritableStreamDefaultWriter:o.WritableStreamDefaultWriter});const a=requireWithFakeGlobalScope({context:n,id:"abort-controller.js",sourceCode:__nccwpck_require__(773),scopedContext:{...A,...e}});assign(n,{AbortController:a.AbortController,AbortSignal:a.AbortSignal,DOMException:a.DOMException});const i=requireWithFakeGlobalScope({context:n,id:"url.js",sourceCode:__nccwpck_require__(56),scopedContext:{...e}});assign(n,{URL:URL,URLSearchParams:URLSearchParams,URLPattern:i.URLPattern});const l=(()=>{if(typeof e.Blob==="function"){return{Blob:e.Blob}}if(typeof Blob==="function"){return{Blob:Blob}}const t={...o,...e};const r={...t,Blob:void 0};Object.setPrototypeOf(r,globalThis);t.global=r;return requireWithFakeGlobalScope({context:n,id:"blob.js",sourceCode:__nccwpck_require__(616),scopedContext:t})})();assign(n,{Blob:l.Blob});const c=requireWithFakeGlobalScope({id:"structured-clone.js",context:n,sourceCode:__nccwpck_require__(431),scopedContext:{...o,...e}});assign(n,{structuredClone:c.structuredClone});const u=requireWithFakeGlobalScope({context:n,id:"fetch.js",sourceCode:__nccwpck_require__(453),cache:new Map([["abort-controller",{exports:a}],["streams",{exports:o}]]),scopedContext:{global:{...e},...e,...o,...i,...a,...A,structuredClone:n.structuredClone}});assign(n,{fetch:u.fetch,File:u.File,FormData:u.FormData,Headers:u.Headers,Request:u.Request,Response:u.Response,WebSocket:u.WebSocket});const g=getCrypto(n,e);assign(n,{crypto:g.crypto,Crypto:g.Crypto,CryptoKey:g.CryptoKey,SubtleCrypto:g.SubtleCrypto});return n}__name(load,"load");function getCrypto(e,n){if(typeof SubtleCrypto!=="undefined"||n.SubtleCrypto){return{crypto:n.crypto||globalThis.crypto,Crypto:n.Crypto||globalThis.Crypto,CryptoKey:n.CryptoKey||globalThis.CryptoKey,SubtleCrypto:n.SubtleCrypto||globalThis.SubtleCrypto}}else if(import_crypto.default.webcrypto){const e=import_crypto.default.webcrypto;return{crypto:e,Crypto:e.constructor,CryptoKey:e.CryptoKey,SubtleCrypto:e.subtle.constructor}}return requireWithFakeGlobalScope({context:e,id:"crypto.js",sourceCode:__nccwpck_require__(446),scopedContext:{...n}})}__name(getCrypto,"getCrypto");function assign(e,n){Object.assign(e,n)}__name(assign,"assign");0&&0},299:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/streams.js\nvar streams_exports = {};\n__export(streams_exports, {\n ReadableStream: () => ReadableStream,\n ReadableStreamBYOBReader: () => ReadableStreamBYOBReader,\n ReadableStreamDefaultReader: () => ReadableStreamDefaultReader,\n TransformStream: () => TransformStream,\n WritableStream: () => WritableStream,\n WritableStreamDefaultWriter: () => WritableStreamDefaultWriter\n});\nmodule.exports = __toCommonJS(streams_exports);\n\n// ../../node_modules/.pnpm/web-streams-polyfill@4.0.0-beta.3/node_modules/web-streams-polyfill/dist/ponyfill.mjs\nvar e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e2) => `Symbol(${e2})`;\nfunction t() {\n}\n__name(t, "t");\nfunction r(e2) {\n return "object" == typeof e2 && null !== e2 || "function" == typeof e2;\n}\n__name(r, "r");\nvar o = t;\nfunction n(e2, t2) {\n try {\n Object.defineProperty(e2, "name", { value: t2, configurable: true });\n } catch (e3) {\n }\n}\n__name(n, "n");\nvar a = Promise;\nvar i = Promise.prototype.then;\nvar l = Promise.resolve.bind(a);\nvar s = Promise.reject.bind(a);\nfunction u(e2) {\n return new a(e2);\n}\n__name(u, "u");\nfunction c(e2) {\n return l(e2);\n}\n__name(c, "c");\nfunction d(e2) {\n return s(e2);\n}\n__name(d, "d");\nfunction f(e2, t2, r2) {\n return i.call(e2, t2, r2);\n}\n__name(f, "f");\nfunction b(e2, t2, r2) {\n f(f(e2, t2, r2), void 0, o);\n}\n__name(b, "b");\nfunction h(e2, t2) {\n b(e2, t2);\n}\n__name(h, "h");\nfunction _(e2, t2) {\n b(e2, void 0, t2);\n}\n__name(_, "_");\nfunction p(e2, t2, r2) {\n return f(e2, t2, r2);\n}\n__name(p, "p");\nfunction m(e2) {\n f(e2, void 0, o);\n}\n__name(m, "m");\nvar y = /* @__PURE__ */ __name((e2) => {\n if ("function" == typeof queueMicrotask)\n y = queueMicrotask;\n else {\n const e3 = c(void 0);\n y = /* @__PURE__ */ __name((t2) => f(e3, t2), "y");\n }\n return y(e2);\n}, "y");\nfunction g(e2, t2, r2) {\n if ("function" != typeof e2)\n throw new TypeError("Argument is not a function");\n return Function.prototype.apply.call(e2, t2, r2);\n}\n__name(g, "g");\nfunction w(e2, t2, r2) {\n try {\n return c(g(e2, t2, r2));\n } catch (e3) {\n return d(e3);\n }\n}\n__name(w, "w");\nvar S = class {\n constructor() {\n this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0;\n }\n get length() {\n return this._size;\n }\n push(e2) {\n const t2 = this._back;\n let r2 = t2;\n 16383 === t2._elements.length && (r2 = { _elements: [], _next: void 0 }), t2._elements.push(e2), r2 !== t2 && (this._back = r2, t2._next = r2), ++this._size;\n }\n shift() {\n const e2 = this._front;\n let t2 = e2;\n const r2 = this._cursor;\n let o2 = r2 + 1;\n const n2 = e2._elements, a2 = n2[r2];\n return 16384 === o2 && (t2 = e2._next, o2 = 0), --this._size, this._cursor = o2, e2 !== t2 && (this._front = t2), n2[r2] = void 0, a2;\n }\n forEach(e2) {\n let t2 = this._cursor, r2 = this._front, o2 = r2._elements;\n for (; !(t2 === o2.length && void 0 === r2._next || t2 === o2.length && (r2 = r2._next, o2 = r2._elements, t2 = 0, 0 === o2.length)); )\n e2(o2[t2]), ++t2;\n }\n peek() {\n const e2 = this._front, t2 = this._cursor;\n return e2._elements[t2];\n }\n};\n__name(S, "S");\nvar v = e("[[AbortSteps]]");\nvar R = e("[[ErrorSteps]]");\nvar T = e("[[CancelSteps]]");\nvar q = e("[[PullSteps]]");\nvar C = e("[[ReleaseSteps]]");\nfunction E(e2, t2) {\n e2._ownerReadableStream = t2, t2._reader = e2, "readable" === t2._state ? O(e2) : "closed" === t2._state ? function(e3) {\n O(e3), j(e3);\n }(e2) : B(e2, t2._storedError);\n}\n__name(E, "E");\nfunction P(e2, t2) {\n return Gt(e2._ownerReadableStream, t2);\n}\n__name(P, "P");\nfunction W(e2) {\n const t2 = e2._ownerReadableStream;\n "readable" === t2._state ? A(e2, new TypeError("Reader was released and can no longer be used to monitor the stream\'s closedness")) : function(e3, t3) {\n B(e3, t3);\n }(e2, new TypeError("Reader was released and can no longer be used to monitor the stream\'s closedness")), t2._readableStreamController[C](), t2._reader = void 0, e2._ownerReadableStream = void 0;\n}\n__name(W, "W");\nfunction k(e2) {\n return new TypeError("Cannot " + e2 + " a stream using a released reader");\n}\n__name(k, "k");\nfunction O(e2) {\n e2._closedPromise = u((t2, r2) => {\n e2._closedPromise_resolve = t2, e2._closedPromise_reject = r2;\n });\n}\n__name(O, "O");\nfunction B(e2, t2) {\n O(e2), A(e2, t2);\n}\n__name(B, "B");\nfunction A(e2, t2) {\n void 0 !== e2._closedPromise_reject && (m(e2._closedPromise), e2._closedPromise_reject(t2), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0);\n}\n__name(A, "A");\nfunction j(e2) {\n void 0 !== e2._closedPromise_resolve && (e2._closedPromise_resolve(void 0), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0);\n}\n__name(j, "j");\nvar z = Number.isFinite || function(e2) {\n return "number" == typeof e2 && isFinite(e2);\n};\nvar L = Math.trunc || function(e2) {\n return e2 < 0 ? Math.ceil(e2) : Math.floor(e2);\n};\nfunction F(e2, t2) {\n if (void 0 !== e2 && ("object" != typeof (r2 = e2) && "function" != typeof r2))\n throw new TypeError(`${t2} is not an object.`);\n var r2;\n}\n__name(F, "F");\nfunction I(e2, t2) {\n if ("function" != typeof e2)\n throw new TypeError(`${t2} is not a function.`);\n}\n__name(I, "I");\nfunction D(e2, t2) {\n if (!function(e3) {\n return "object" == typeof e3 && null !== e3 || "function" == typeof e3;\n }(e2))\n throw new TypeError(`${t2} is not an object.`);\n}\n__name(D, "D");\nfunction $(e2, t2, r2) {\n if (void 0 === e2)\n throw new TypeError(`Parameter ${t2} is required in \'${r2}\'.`);\n}\n__name($, "$");\nfunction M(e2, t2, r2) {\n if (void 0 === e2)\n throw new TypeError(`${t2} is required in \'${r2}\'.`);\n}\n__name(M, "M");\nfunction Y(e2) {\n return Number(e2);\n}\n__name(Y, "Y");\nfunction Q(e2) {\n return 0 === e2 ? 0 : e2;\n}\n__name(Q, "Q");\nfunction N(e2, t2) {\n const r2 = Number.MAX_SAFE_INTEGER;\n let o2 = Number(e2);\n if (o2 = Q(o2), !z(o2))\n throw new TypeError(`${t2} is not a finite number`);\n if (o2 = function(e3) {\n return Q(L(e3));\n }(o2), o2 < 0 || o2 > r2)\n throw new TypeError(`${t2} is outside the accepted range of 0 to ${r2}, inclusive`);\n return z(o2) && 0 !== o2 ? o2 : 0;\n}\n__name(N, "N");\nfunction H(e2) {\n if (!r(e2))\n return false;\n if ("function" != typeof e2.getReader)\n return false;\n try {\n return "boolean" == typeof e2.locked;\n } catch (e3) {\n return false;\n }\n}\n__name(H, "H");\nfunction x(e2) {\n if (!r(e2))\n return false;\n if ("function" != typeof e2.getWriter)\n return false;\n try {\n return "boolean" == typeof e2.locked;\n } catch (e3) {\n return false;\n }\n}\n__name(x, "x");\nfunction V(e2, t2) {\n if (!Vt(e2))\n throw new TypeError(`${t2} is not a ReadableStream.`);\n}\n__name(V, "V");\nfunction U(e2, t2) {\n e2._reader._readRequests.push(t2);\n}\n__name(U, "U");\nfunction G(e2, t2, r2) {\n const o2 = e2._reader._readRequests.shift();\n r2 ? o2._closeSteps() : o2._chunkSteps(t2);\n}\n__name(G, "G");\nfunction X(e2) {\n return e2._reader._readRequests.length;\n}\n__name(X, "X");\nfunction J(e2) {\n const t2 = e2._reader;\n return void 0 !== t2 && !!K(t2);\n}\n__name(J, "J");\nvar ReadableStreamDefaultReader = class {\n constructor(e2) {\n if ($(e2, 1, "ReadableStreamDefaultReader"), V(e2, "First parameter"), Ut(e2))\n throw new TypeError("This stream has already been locked for exclusive reading by another reader");\n E(this, e2), this._readRequests = new S();\n }\n get closed() {\n return K(this) ? this._closedPromise : d(ee("closed"));\n }\n cancel(e2) {\n return K(this) ? void 0 === this._ownerReadableStream ? d(k("cancel")) : P(this, e2) : d(ee("cancel"));\n }\n read() {\n if (!K(this))\n return d(ee("read"));\n if (void 0 === this._ownerReadableStream)\n return d(k("read from"));\n let e2, t2;\n const r2 = u((r3, o2) => {\n e2 = r3, t2 = o2;\n });\n return function(e3, t3) {\n const r3 = e3._ownerReadableStream;\n r3._disturbed = true, "closed" === r3._state ? t3._closeSteps() : "errored" === r3._state ? t3._errorSteps(r3._storedError) : r3._readableStreamController[q](t3);\n }(this, { _chunkSteps: (t3) => e2({ value: t3, done: false }), _closeSteps: () => e2({ value: void 0, done: true }), _errorSteps: (e3) => t2(e3) }), r2;\n }\n releaseLock() {\n if (!K(this))\n throw ee("releaseLock");\n void 0 !== this._ownerReadableStream && function(e2) {\n W(e2);\n const t2 = new TypeError("Reader was released");\n Z(e2, t2);\n }(this);\n }\n};\n__name(ReadableStreamDefaultReader, "ReadableStreamDefaultReader");\nfunction K(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readRequests") && e2 instanceof ReadableStreamDefaultReader);\n}\n__name(K, "K");\nfunction Z(e2, t2) {\n const r2 = e2._readRequests;\n e2._readRequests = new S(), r2.forEach((e3) => {\n e3._errorSteps(t2);\n });\n}\n__name(Z, "Z");\nfunction ee(e2) {\n return new TypeError(`ReadableStreamDefaultReader.prototype.${e2} can only be used on a ReadableStreamDefaultReader`);\n}\n__name(ee, "ee");\nObject.defineProperties(ReadableStreamDefaultReader.prototype, { cancel: { enumerable: true }, read: { enumerable: true }, releaseLock: { enumerable: true }, closed: { enumerable: true } }), n(ReadableStreamDefaultReader.prototype.cancel, "cancel"), n(ReadableStreamDefaultReader.prototype.read, "read"), n(ReadableStreamDefaultReader.prototype.releaseLock, "releaseLock"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true });\nvar te = class {\n constructor(e2, t2) {\n this._ongoingPromise = void 0, this._isFinished = false, this._reader = e2, this._preventCancel = t2;\n }\n next() {\n const e2 = /* @__PURE__ */ __name(() => this._nextSteps(), "e");\n return this._ongoingPromise = this._ongoingPromise ? p(this._ongoingPromise, e2, e2) : e2(), this._ongoingPromise;\n }\n return(e2) {\n const t2 = /* @__PURE__ */ __name(() => this._returnSteps(e2), "t");\n return this._ongoingPromise ? p(this._ongoingPromise, t2, t2) : t2();\n }\n _nextSteps() {\n if (this._isFinished)\n return Promise.resolve({ value: void 0, done: true });\n const e2 = this._reader;\n return void 0 === e2 ? d(k("iterate")) : f(e2.read(), (e3) => {\n var t2;\n return this._ongoingPromise = void 0, e3.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e3;\n }, (e3) => {\n var t2;\n throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e3;\n });\n }\n _returnSteps(e2) {\n if (this._isFinished)\n return Promise.resolve({ value: e2, done: true });\n this._isFinished = true;\n const t2 = this._reader;\n if (void 0 === t2)\n return d(k("finish iterating"));\n if (this._reader = void 0, !this._preventCancel) {\n const r2 = t2.cancel(e2);\n return t2.releaseLock(), p(r2, () => ({ value: e2, done: true }));\n }\n return t2.releaseLock(), c({ value: e2, done: true });\n }\n};\n__name(te, "te");\nvar re = { next() {\n return oe(this) ? this._asyncIteratorImpl.next() : d(ne("next"));\n}, return(e2) {\n return oe(this) ? this._asyncIteratorImpl.return(e2) : d(ne("return"));\n} };\nfunction oe(e2) {\n if (!r(e2))\n return false;\n if (!Object.prototype.hasOwnProperty.call(e2, "_asyncIteratorImpl"))\n return false;\n try {\n return e2._asyncIteratorImpl instanceof te;\n } catch (e3) {\n return false;\n }\n}\n__name(oe, "oe");\nfunction ne(e2) {\n return new TypeError(`ReadableStreamAsyncIterator.${e2} can only be used on a ReadableSteamAsyncIterator`);\n}\n__name(ne, "ne");\n"symbol" == typeof e.asyncIterator && Object.defineProperty(re, e.asyncIterator, { value() {\n return this;\n}, writable: true, configurable: true });\nvar ae = Number.isNaN || function(e2) {\n return e2 != e2;\n};\nfunction ie(e2, t2, r2, o2, n2) {\n new Uint8Array(e2).set(new Uint8Array(r2, o2, n2), t2);\n}\n__name(ie, "ie");\nfunction le(e2) {\n const t2 = function(e3, t3, r2) {\n if (e3.slice)\n return e3.slice(t3, r2);\n const o2 = r2 - t3, n2 = new ArrayBuffer(o2);\n return ie(n2, 0, e3, t3, o2), n2;\n }(e2.buffer, e2.byteOffset, e2.byteOffset + e2.byteLength);\n return new Uint8Array(t2);\n}\n__name(le, "le");\nfunction se(e2) {\n const t2 = e2._queue.shift();\n return e2._queueTotalSize -= t2.size, e2._queueTotalSize < 0 && (e2._queueTotalSize = 0), t2.value;\n}\n__name(se, "se");\nfunction ue(e2, t2, r2) {\n if ("number" != typeof (o2 = r2) || ae(o2) || o2 < 0 || r2 === 1 / 0)\n throw new RangeError("Size must be a finite, non-NaN, non-negative number.");\n var o2;\n e2._queue.push({ value: t2, size: r2 }), e2._queueTotalSize += r2;\n}\n__name(ue, "ue");\nfunction ce(e2) {\n e2._queue = new S(), e2._queueTotalSize = 0;\n}\n__name(ce, "ce");\nvar ReadableStreamBYOBRequest = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get view() {\n if (!fe(this))\n throw Be("view");\n return this._view;\n }\n respond(e2) {\n if (!fe(this))\n throw Be("respond");\n if ($(e2, 1, "respond"), e2 = N(e2, "First parameter"), void 0 === this._associatedReadableByteStreamController)\n throw new TypeError("This BYOB request has been invalidated");\n this._view.buffer, function(e3, t2) {\n const r2 = e3._pendingPullIntos.peek();\n if ("closed" === e3._controlledReadableByteStream._state) {\n if (0 !== t2)\n throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");\n } else {\n if (0 === t2)\n throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");\n if (r2.bytesFilled + t2 > r2.byteLength)\n throw new RangeError("bytesWritten out of range");\n }\n r2.buffer = r2.buffer, qe(e3, t2);\n }(this._associatedReadableByteStreamController, e2);\n }\n respondWithNewView(e2) {\n if (!fe(this))\n throw Be("respondWithNewView");\n if ($(e2, 1, "respondWithNewView"), !ArrayBuffer.isView(e2))\n throw new TypeError("You can only respond with array buffer views");\n if (void 0 === this._associatedReadableByteStreamController)\n throw new TypeError("This BYOB request has been invalidated");\n e2.buffer, function(e3, t2) {\n const r2 = e3._pendingPullIntos.peek();\n if ("closed" === e3._controlledReadableByteStream._state) {\n if (0 !== t2.byteLength)\n throw new TypeError("The view\'s length must be 0 when calling respondWithNewView() on a closed stream");\n } else if (0 === t2.byteLength)\n throw new TypeError("The view\'s length must be greater than 0 when calling respondWithNewView() on a readable stream");\n if (r2.byteOffset + r2.bytesFilled !== t2.byteOffset)\n throw new RangeError("The region specified by view does not match byobRequest");\n if (r2.bufferByteLength !== t2.buffer.byteLength)\n throw new RangeError("The buffer of view has different capacity than byobRequest");\n if (r2.bytesFilled + t2.byteLength > r2.byteLength)\n throw new RangeError("The region specified by view is larger than byobRequest");\n const o2 = t2.byteLength;\n r2.buffer = t2.buffer, qe(e3, o2);\n }(this._associatedReadableByteStreamController, e2);\n }\n};\n__name(ReadableStreamBYOBRequest, "ReadableStreamBYOBRequest");\nObject.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true });\nvar ReadableByteStreamController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get byobRequest() {\n if (!de(this))\n throw Ae("byobRequest");\n return function(e2) {\n if (null === e2._byobRequest && e2._pendingPullIntos.length > 0) {\n const t2 = e2._pendingPullIntos.peek(), r2 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o2 = Object.create(ReadableStreamBYOBRequest.prototype);\n !function(e3, t3, r3) {\n e3._associatedReadableByteStreamController = t3, e3._view = r3;\n }(o2, e2, r2), e2._byobRequest = o2;\n }\n return e2._byobRequest;\n }(this);\n }\n get desiredSize() {\n if (!de(this))\n throw Ae("desiredSize");\n return ke(this);\n }\n close() {\n if (!de(this))\n throw Ae("close");\n if (this._closeRequested)\n throw new TypeError("The stream has already been closed; do not close it again!");\n const e2 = this._controlledReadableByteStream._state;\n if ("readable" !== e2)\n throw new TypeError(`The stream (in ${e2} state) is not in the readable state and cannot be closed`);\n !function(e3) {\n const t2 = e3._controlledReadableByteStream;\n if (e3._closeRequested || "readable" !== t2._state)\n return;\n if (e3._queueTotalSize > 0)\n return void (e3._closeRequested = true);\n if (e3._pendingPullIntos.length > 0) {\n if (e3._pendingPullIntos.peek().bytesFilled > 0) {\n const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer");\n throw Pe(e3, t3), t3;\n }\n }\n Ee(e3), Xt(t2);\n }(this);\n }\n enqueue(e2) {\n if (!de(this))\n throw Ae("enqueue");\n if ($(e2, 1, "enqueue"), !ArrayBuffer.isView(e2))\n throw new TypeError("chunk must be an array buffer view");\n if (0 === e2.byteLength)\n throw new TypeError("chunk must have non-zero byteLength");\n if (0 === e2.buffer.byteLength)\n throw new TypeError("chunk\'s buffer must have non-zero byteLength");\n if (this._closeRequested)\n throw new TypeError("stream is closed or draining");\n const t2 = this._controlledReadableByteStream._state;\n if ("readable" !== t2)\n throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`);\n !function(e3, t3) {\n const r2 = e3._controlledReadableByteStream;\n if (e3._closeRequested || "readable" !== r2._state)\n return;\n const o2 = t3.buffer, n2 = t3.byteOffset, a2 = t3.byteLength, i2 = o2;\n if (e3._pendingPullIntos.length > 0) {\n const t4 = e3._pendingPullIntos.peek();\n t4.buffer, 0, Re(e3), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e3, t4);\n }\n if (J(r2))\n if (function(e4) {\n const t4 = e4._controlledReadableByteStream._reader;\n for (; t4._readRequests.length > 0; ) {\n if (0 === e4._queueTotalSize)\n return;\n We(e4, t4._readRequests.shift());\n }\n }(e3), 0 === X(r2))\n me(e3, i2, n2, a2);\n else {\n e3._pendingPullIntos.length > 0 && Ce(e3);\n G(r2, new Uint8Array(i2, n2, a2), false);\n }\n else\n Le(r2) ? (me(e3, i2, n2, a2), Te(e3)) : me(e3, i2, n2, a2);\n be(e3);\n }(this, e2);\n }\n error(e2) {\n if (!de(this))\n throw Ae("error");\n Pe(this, e2);\n }\n [T](e2) {\n he(this), ce(this);\n const t2 = this._cancelAlgorithm(e2);\n return Ee(this), t2;\n }\n [q](e2) {\n const t2 = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0)\n return void We(this, e2);\n const r2 = this._autoAllocateChunkSize;\n if (void 0 !== r2) {\n let t3;\n try {\n t3 = new ArrayBuffer(r2);\n } catch (t4) {\n return void e2._errorSteps(t4);\n }\n const o2 = { buffer: t3, bufferByteLength: r2, byteOffset: 0, byteLength: r2, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" };\n this._pendingPullIntos.push(o2);\n }\n U(t2, e2), be(this);\n }\n [C]() {\n if (this._pendingPullIntos.length > 0) {\n const e2 = this._pendingPullIntos.peek();\n e2.readerType = "none", this._pendingPullIntos = new S(), this._pendingPullIntos.push(e2);\n }\n }\n};\n__name(ReadableByteStreamController, "ReadableByteStreamController");\nfunction de(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledReadableByteStream") && e2 instanceof ReadableByteStreamController);\n}\n__name(de, "de");\nfunction fe(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_associatedReadableByteStreamController") && e2 instanceof ReadableStreamBYOBRequest);\n}\n__name(fe, "fe");\nfunction be(e2) {\n const t2 = function(e3) {\n const t3 = e3._controlledReadableByteStream;\n if ("readable" !== t3._state)\n return false;\n if (e3._closeRequested)\n return false;\n if (!e3._started)\n return false;\n if (J(t3) && X(t3) > 0)\n return true;\n if (Le(t3) && ze(t3) > 0)\n return true;\n if (ke(e3) > 0)\n return true;\n return false;\n }(e2);\n if (!t2)\n return;\n if (e2._pulling)\n return void (e2._pullAgain = true);\n e2._pulling = true;\n b(e2._pullAlgorithm(), () => (e2._pulling = false, e2._pullAgain && (e2._pullAgain = false, be(e2)), null), (t3) => (Pe(e2, t3), null));\n}\n__name(be, "be");\nfunction he(e2) {\n Re(e2), e2._pendingPullIntos = new S();\n}\n__name(he, "he");\nfunction _e(e2, t2) {\n let r2 = false;\n "closed" === e2._state && (r2 = true);\n const o2 = pe(t2);\n "default" === t2.readerType ? G(e2, o2, r2) : function(e3, t3, r3) {\n const o3 = e3._reader._readIntoRequests.shift();\n r3 ? o3._closeSteps(t3) : o3._chunkSteps(t3);\n }(e2, o2, r2);\n}\n__name(_e, "_e");\nfunction pe(e2) {\n const t2 = e2.bytesFilled, r2 = e2.elementSize;\n return new e2.viewConstructor(e2.buffer, e2.byteOffset, t2 / r2);\n}\n__name(pe, "pe");\nfunction me(e2, t2, r2, o2) {\n e2._queue.push({ buffer: t2, byteOffset: r2, byteLength: o2 }), e2._queueTotalSize += o2;\n}\n__name(me, "me");\nfunction ye(e2, t2, r2, o2) {\n let n2;\n try {\n n2 = t2.slice(r2, r2 + o2);\n } catch (t3) {\n throw Pe(e2, t3), t3;\n }\n me(e2, n2, 0, o2);\n}\n__name(ye, "ye");\nfunction ge(e2, t2) {\n t2.bytesFilled > 0 && ye(e2, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e2);\n}\n__name(ge, "ge");\nfunction we(e2, t2) {\n const r2 = t2.elementSize, o2 = t2.bytesFilled - t2.bytesFilled % r2, n2 = Math.min(e2._queueTotalSize, t2.byteLength - t2.bytesFilled), a2 = t2.bytesFilled + n2, i2 = a2 - a2 % r2;\n let l2 = n2, s2 = false;\n i2 > o2 && (l2 = i2 - t2.bytesFilled, s2 = true);\n const u2 = e2._queue;\n for (; l2 > 0; ) {\n const r3 = u2.peek(), o3 = Math.min(l2, r3.byteLength), n3 = t2.byteOffset + t2.bytesFilled;\n ie(t2.buffer, n3, r3.buffer, r3.byteOffset, o3), r3.byteLength === o3 ? u2.shift() : (r3.byteOffset += o3, r3.byteLength -= o3), e2._queueTotalSize -= o3, Se(e2, o3, t2), l2 -= o3;\n }\n return s2;\n}\n__name(we, "we");\nfunction Se(e2, t2, r2) {\n r2.bytesFilled += t2;\n}\n__name(Se, "Se");\nfunction ve(e2) {\n 0 === e2._queueTotalSize && e2._closeRequested ? (Ee(e2), Xt(e2._controlledReadableByteStream)) : be(e2);\n}\n__name(ve, "ve");\nfunction Re(e2) {\n null !== e2._byobRequest && (e2._byobRequest._associatedReadableByteStreamController = void 0, e2._byobRequest._view = null, e2._byobRequest = null);\n}\n__name(Re, "Re");\nfunction Te(e2) {\n for (; e2._pendingPullIntos.length > 0; ) {\n if (0 === e2._queueTotalSize)\n return;\n const t2 = e2._pendingPullIntos.peek();\n we(e2, t2) && (Ce(e2), _e(e2._controlledReadableByteStream, t2));\n }\n}\n__name(Te, "Te");\nfunction qe(e2, t2) {\n const r2 = e2._pendingPullIntos.peek();\n Re(e2);\n "closed" === e2._controlledReadableByteStream._state ? function(e3, t3) {\n "none" === t3.readerType && Ce(e3);\n const r3 = e3._controlledReadableByteStream;\n if (Le(r3))\n for (; ze(r3) > 0; )\n _e(r3, Ce(e3));\n }(e2, r2) : function(e3, t3, r3) {\n if (Se(0, t3, r3), "none" === r3.readerType)\n return ge(e3, r3), void Te(e3);\n if (r3.bytesFilled < r3.elementSize)\n return;\n Ce(e3);\n const o2 = r3.bytesFilled % r3.elementSize;\n if (o2 > 0) {\n const t4 = r3.byteOffset + r3.bytesFilled;\n ye(e3, r3.buffer, t4 - o2, o2);\n }\n r3.bytesFilled -= o2, _e(e3._controlledReadableByteStream, r3), Te(e3);\n }(e2, t2, r2), be(e2);\n}\n__name(qe, "qe");\nfunction Ce(e2) {\n return e2._pendingPullIntos.shift();\n}\n__name(Ce, "Ce");\nfunction Ee(e2) {\n e2._pullAlgorithm = void 0, e2._cancelAlgorithm = void 0;\n}\n__name(Ee, "Ee");\nfunction Pe(e2, t2) {\n const r2 = e2._controlledReadableByteStream;\n "readable" === r2._state && (he(e2), ce(e2), Ee(e2), Jt(r2, t2));\n}\n__name(Pe, "Pe");\nfunction We(e2, t2) {\n const r2 = e2._queue.shift();\n e2._queueTotalSize -= r2.byteLength, ve(e2);\n const o2 = new Uint8Array(r2.buffer, r2.byteOffset, r2.byteLength);\n t2._chunkSteps(o2);\n}\n__name(We, "We");\nfunction ke(e2) {\n const t2 = e2._controlledReadableByteStream._state;\n return "errored" === t2 ? null : "closed" === t2 ? 0 : e2._strategyHWM - e2._queueTotalSize;\n}\n__name(ke, "ke");\nfunction Oe(e2, t2, r2) {\n const o2 = Object.create(ReadableByteStreamController.prototype);\n let n2, a2, i2;\n n2 = void 0 !== t2.start ? () => t2.start(o2) : () => {\n }, a2 = void 0 !== t2.pull ? () => t2.pull(o2) : () => c(void 0), i2 = void 0 !== t2.cancel ? (e3) => t2.cancel(e3) : () => c(void 0);\n const l2 = t2.autoAllocateChunkSize;\n if (0 === l2)\n throw new TypeError("autoAllocateChunkSize must be greater than 0");\n !function(e3, t3, r3, o3, n3, a3, i3) {\n t3._controlledReadableByteStream = e3, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a3, t3._pullAlgorithm = o3, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i3, t3._pendingPullIntos = new S(), e3._readableStreamController = t3, b(c(r3()), () => (t3._started = true, be(t3), null), (e4) => (Pe(t3, e4), null));\n }(e2, o2, n2, a2, i2, r2, l2);\n}\n__name(Oe, "Oe");\nfunction Be(e2) {\n return new TypeError(`ReadableStreamBYOBRequest.prototype.${e2} can only be used on a ReadableStreamBYOBRequest`);\n}\n__name(Be, "Be");\nfunction Ae(e2) {\n return new TypeError(`ReadableByteStreamController.prototype.${e2} can only be used on a ReadableByteStreamController`);\n}\n__name(Ae, "Ae");\nfunction je(e2, t2) {\n e2._reader._readIntoRequests.push(t2);\n}\n__name(je, "je");\nfunction ze(e2) {\n return e2._reader._readIntoRequests.length;\n}\n__name(ze, "ze");\nfunction Le(e2) {\n const t2 = e2._reader;\n return void 0 !== t2 && !!Fe(t2);\n}\n__name(Le, "Le");\nObject.defineProperties(ReadableByteStreamController.prototype, { close: { enumerable: true }, enqueue: { enumerable: true }, error: { enumerable: true }, byobRequest: { enumerable: true }, desiredSize: { enumerable: true } }), n(ReadableByteStreamController.prototype.close, "close"), n(ReadableByteStreamController.prototype.enqueue, "enqueue"), n(ReadableByteStreamController.prototype.error, "error"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e.toStringTag, { value: "ReadableByteStreamController", configurable: true });\nvar ReadableStreamBYOBReader = class {\n constructor(e2) {\n if ($(e2, 1, "ReadableStreamBYOBReader"), V(e2, "First parameter"), Ut(e2))\n throw new TypeError("This stream has already been locked for exclusive reading by another reader");\n if (!de(e2._readableStreamController))\n throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");\n E(this, e2), this._readIntoRequests = new S();\n }\n get closed() {\n return Fe(this) ? this._closedPromise : d(De("closed"));\n }\n cancel(e2) {\n return Fe(this) ? void 0 === this._ownerReadableStream ? d(k("cancel")) : P(this, e2) : d(De("cancel"));\n }\n read(e2) {\n if (!Fe(this))\n return d(De("read"));\n if (!ArrayBuffer.isView(e2))\n return d(new TypeError("view must be an array buffer view"));\n if (0 === e2.byteLength)\n return d(new TypeError("view must have non-zero byteLength"));\n if (0 === e2.buffer.byteLength)\n return d(new TypeError("view\'s buffer must have non-zero byteLength"));\n if (e2.buffer, void 0 === this._ownerReadableStream)\n return d(k("read from"));\n let t2, r2;\n const o2 = u((e3, o3) => {\n t2 = e3, r2 = o3;\n });\n return function(e3, t3, r3) {\n const o3 = e3._ownerReadableStream;\n o3._disturbed = true, "errored" === o3._state ? r3._errorSteps(o3._storedError) : function(e4, t4, r4) {\n const o4 = e4._controlledReadableByteStream;\n let n2 = 1;\n t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT);\n const a2 = t4.constructor, i2 = t4.buffer, l2 = { buffer: i2, bufferByteLength: i2.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a2, readerType: "byob" };\n if (e4._pendingPullIntos.length > 0)\n return e4._pendingPullIntos.push(l2), void je(o4, r4);\n if ("closed" !== o4._state) {\n if (e4._queueTotalSize > 0) {\n if (we(e4, l2)) {\n const t5 = pe(l2);\n return ve(e4), void r4._chunkSteps(t5);\n }\n if (e4._closeRequested) {\n const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer");\n return Pe(e4, t5), void r4._errorSteps(t5);\n }\n }\n e4._pendingPullIntos.push(l2), je(o4, r4), be(e4);\n } else {\n const e5 = new a2(l2.buffer, l2.byteOffset, 0);\n r4._closeSteps(e5);\n }\n }(o3._readableStreamController, t3, r3);\n }(this, e2, { _chunkSteps: (e3) => t2({ value: e3, done: false }), _closeSteps: (e3) => t2({ value: e3, done: true }), _errorSteps: (e3) => r2(e3) }), o2;\n }\n releaseLock() {\n if (!Fe(this))\n throw De("releaseLock");\n void 0 !== this._ownerReadableStream && function(e2) {\n W(e2);\n const t2 = new TypeError("Reader was released");\n Ie(e2, t2);\n }(this);\n }\n};\n__name(ReadableStreamBYOBReader, "ReadableStreamBYOBReader");\nfunction Fe(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readIntoRequests") && e2 instanceof ReadableStreamBYOBReader);\n}\n__name(Fe, "Fe");\nfunction Ie(e2, t2) {\n const r2 = e2._readIntoRequests;\n e2._readIntoRequests = new S(), r2.forEach((e3) => {\n e3._errorSteps(t2);\n });\n}\n__name(Ie, "Ie");\nfunction De(e2) {\n return new TypeError(`ReadableStreamBYOBReader.prototype.${e2} can only be used on a ReadableStreamBYOBReader`);\n}\n__name(De, "De");\nfunction $e(e2, t2) {\n const { highWaterMark: r2 } = e2;\n if (void 0 === r2)\n return t2;\n if (ae(r2) || r2 < 0)\n throw new RangeError("Invalid highWaterMark");\n return r2;\n}\n__name($e, "$e");\nfunction Me(e2) {\n const { size: t2 } = e2;\n return t2 || (() => 1);\n}\n__name(Me, "Me");\nfunction Ye(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.highWaterMark, o2 = null == e2 ? void 0 : e2.size;\n return { highWaterMark: void 0 === r2 ? void 0 : Y(r2), size: void 0 === o2 ? void 0 : Qe(o2, `${t2} has member \'size\' that`) };\n}\n__name(Ye, "Ye");\nfunction Qe(e2, t2) {\n return I(e2, t2), (t3) => Y(e2(t3));\n}\n__name(Qe, "Qe");\nfunction Ne(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(Ne, "Ne");\nfunction He(e2, t2, r2) {\n return I(e2, r2), () => w(e2, t2, []);\n}\n__name(He, "He");\nfunction xe(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(xe, "xe");\nfunction Ve(e2, t2, r2) {\n return I(e2, r2), (r3, o2) => w(e2, t2, [r3, o2]);\n}\n__name(Ve, "Ve");\nObject.defineProperties(ReadableStreamBYOBReader.prototype, { cancel: { enumerable: true }, read: { enumerable: true }, releaseLock: { enumerable: true }, closed: { enumerable: true } }), n(ReadableStreamBYOBReader.prototype.cancel, "cancel"), n(ReadableStreamBYOBReader.prototype.read, "read"), n(ReadableStreamBYOBReader.prototype.releaseLock, "releaseLock"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true });\nvar Ue = "function" == typeof AbortController;\nvar WritableStream = class {\n constructor(e2 = {}, t2 = {}) {\n void 0 === e2 ? e2 = null : D(e2, "First parameter");\n const r2 = Ye(t2, "Second parameter"), o2 = function(e3, t3) {\n F(e3, t3);\n const r3 = null == e3 ? void 0 : e3.abort, o3 = null == e3 ? void 0 : e3.close, n3 = null == e3 ? void 0 : e3.start, a3 = null == e3 ? void 0 : e3.type, i2 = null == e3 ? void 0 : e3.write;\n return { abort: void 0 === r3 ? void 0 : Ne(r3, e3, `${t3} has member \'abort\' that`), close: void 0 === o3 ? void 0 : He(o3, e3, `${t3} has member \'close\' that`), start: void 0 === n3 ? void 0 : xe(n3, e3, `${t3} has member \'start\' that`), write: void 0 === i2 ? void 0 : Ve(i2, e3, `${t3} has member \'write\' that`), type: a3 };\n }(e2, "First parameter");\n var n2;\n (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false;\n if (void 0 !== o2.type)\n throw new RangeError("Invalid type is specified");\n const a2 = Me(r2);\n !function(e3, t3, r3, o3) {\n const n3 = Object.create(WritableStreamDefaultController.prototype);\n let a3, i2, l2, s2;\n a3 = void 0 !== t3.start ? () => t3.start(n3) : () => {\n };\n i2 = void 0 !== t3.write ? (e4) => t3.write(e4, n3) : () => c(void 0);\n l2 = void 0 !== t3.close ? () => t3.close() : () => c(void 0);\n s2 = void 0 !== t3.abort ? (e4) => t3.abort(e4) : () => c(void 0);\n !function(e4, t4, r4, o4, n4, a4, i3, l3) {\n t4._controlledWritableStream = e4, e4._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce(t4), t4._abortReason = void 0, t4._abortController = function() {\n if (Ue)\n return new AbortController();\n }(), t4._started = false, t4._strategySizeAlgorithm = l3, t4._strategyHWM = i3, t4._writeAlgorithm = o4, t4._closeAlgorithm = n4, t4._abortAlgorithm = a4;\n const s3 = bt(t4);\n nt(e4, s3);\n const u2 = r4();\n b(c(u2), () => (t4._started = true, dt(t4), null), (r5) => (t4._started = true, Ze(e4, r5), null));\n }(e3, n3, a3, i2, l2, s2, r3, o3);\n }(this, o2, $e(r2, 1), a2);\n }\n get locked() {\n if (!Ge(this))\n throw _t("locked");\n return Xe(this);\n }\n abort(e2) {\n return Ge(this) ? Xe(this) ? d(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e2) : d(_t("abort"));\n }\n close() {\n return Ge(this) ? Xe(this) ? d(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d(_t("close"));\n }\n getWriter() {\n if (!Ge(this))\n throw _t("getWriter");\n return new WritableStreamDefaultWriter(this);\n }\n};\n__name(WritableStream, "WritableStream");\nfunction Ge(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_writableStreamController") && e2 instanceof WritableStream);\n}\n__name(Ge, "Ge");\nfunction Xe(e2) {\n return void 0 !== e2._writer;\n}\n__name(Xe, "Xe");\nfunction Je(e2, t2) {\n var r2;\n if ("closed" === e2._state || "errored" === e2._state)\n return c(void 0);\n e2._writableStreamController._abortReason = t2, null === (r2 = e2._writableStreamController._abortController) || void 0 === r2 || r2.abort(t2);\n const o2 = e2._state;\n if ("closed" === o2 || "errored" === o2)\n return c(void 0);\n if (void 0 !== e2._pendingAbortRequest)\n return e2._pendingAbortRequest._promise;\n let n2 = false;\n "erroring" === o2 && (n2 = true, t2 = void 0);\n const a2 = u((r3, o3) => {\n e2._pendingAbortRequest = { _promise: void 0, _resolve: r3, _reject: o3, _reason: t2, _wasAlreadyErroring: n2 };\n });\n return e2._pendingAbortRequest._promise = a2, n2 || et(e2, t2), a2;\n}\n__name(Je, "Je");\nfunction Ke(e2) {\n const t2 = e2._state;\n if ("closed" === t2 || "errored" === t2)\n return d(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`));\n const r2 = u((t3, r3) => {\n const o3 = { _resolve: t3, _reject: r3 };\n e2._closeRequest = o3;\n }), o2 = e2._writer;\n var n2;\n return void 0 !== o2 && e2._backpressure && "writable" === t2 && Et(o2), ue(n2 = e2._writableStreamController, lt, 0), dt(n2), r2;\n}\n__name(Ke, "Ke");\nfunction Ze(e2, t2) {\n "writable" !== e2._state ? tt(e2) : et(e2, t2);\n}\n__name(Ze, "Ze");\nfunction et(e2, t2) {\n const r2 = e2._writableStreamController;\n e2._state = "erroring", e2._storedError = t2;\n const o2 = e2._writer;\n void 0 !== o2 && it(o2, t2), !function(e3) {\n if (void 0 === e3._inFlightWriteRequest && void 0 === e3._inFlightCloseRequest)\n return false;\n return true;\n }(e2) && r2._started && tt(e2);\n}\n__name(et, "et");\nfunction tt(e2) {\n e2._state = "errored", e2._writableStreamController[R]();\n const t2 = e2._storedError;\n if (e2._writeRequests.forEach((e3) => {\n e3._reject(t2);\n }), e2._writeRequests = new S(), void 0 === e2._pendingAbortRequest)\n return void ot(e2);\n const r2 = e2._pendingAbortRequest;\n if (e2._pendingAbortRequest = void 0, r2._wasAlreadyErroring)\n return r2._reject(t2), void ot(e2);\n b(e2._writableStreamController[v](r2._reason), () => (r2._resolve(), ot(e2), null), (t3) => (r2._reject(t3), ot(e2), null));\n}\n__name(tt, "tt");\nfunction rt(e2) {\n return void 0 !== e2._closeRequest || void 0 !== e2._inFlightCloseRequest;\n}\n__name(rt, "rt");\nfunction ot(e2) {\n void 0 !== e2._closeRequest && (e2._closeRequest._reject(e2._storedError), e2._closeRequest = void 0);\n const t2 = e2._writer;\n void 0 !== t2 && St(t2, e2._storedError);\n}\n__name(ot, "ot");\nfunction nt(e2, t2) {\n const r2 = e2._writer;\n void 0 !== r2 && t2 !== e2._backpressure && (t2 ? function(e3) {\n Rt(e3);\n }(r2) : Et(r2)), e2._backpressure = t2;\n}\n__name(nt, "nt");\nObject.defineProperties(WritableStream.prototype, { abort: { enumerable: true }, close: { enumerable: true }, getWriter: { enumerable: true }, locked: { enumerable: true } }), n(WritableStream.prototype.abort, "abort"), n(WritableStream.prototype.close, "close"), n(WritableStream.prototype.getWriter, "getWriter"), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStream.prototype, e.toStringTag, { value: "WritableStream", configurable: true });\nvar WritableStreamDefaultWriter = class {\n constructor(e2) {\n if ($(e2, 1, "WritableStreamDefaultWriter"), function(e3, t3) {\n if (!Ge(e3))\n throw new TypeError(`${t3} is not a WritableStream.`);\n }(e2, "First parameter"), Xe(e2))\n throw new TypeError("This stream has already been locked for exclusive writing by another writer");\n this._ownerWritableStream = e2, e2._writer = this;\n const t2 = e2._state;\n if ("writable" === t2)\n !rt(e2) && e2._backpressure ? Rt(this) : qt(this), gt(this);\n else if ("erroring" === t2)\n Tt(this, e2._storedError), gt(this);\n else if ("closed" === t2)\n qt(this), gt(r2 = this), vt(r2);\n else {\n const t3 = e2._storedError;\n Tt(this, t3), wt(this, t3);\n }\n var r2;\n }\n get closed() {\n return at(this) ? this._closedPromise : d(mt("closed"));\n }\n get desiredSize() {\n if (!at(this))\n throw mt("desiredSize");\n if (void 0 === this._ownerWritableStream)\n throw yt("desiredSize");\n return function(e2) {\n const t2 = e2._ownerWritableStream, r2 = t2._state;\n if ("errored" === r2 || "erroring" === r2)\n return null;\n if ("closed" === r2)\n return 0;\n return ct(t2._writableStreamController);\n }(this);\n }\n get ready() {\n return at(this) ? this._readyPromise : d(mt("ready"));\n }\n abort(e2) {\n return at(this) ? void 0 === this._ownerWritableStream ? d(yt("abort")) : function(e3, t2) {\n return Je(e3._ownerWritableStream, t2);\n }(this, e2) : d(mt("abort"));\n }\n close() {\n if (!at(this))\n return d(mt("close"));\n const e2 = this._ownerWritableStream;\n return void 0 === e2 ? d(yt("close")) : rt(e2) ? d(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream);\n }\n releaseLock() {\n if (!at(this))\n throw mt("releaseLock");\n void 0 !== this._ownerWritableStream && function(e2) {\n const t2 = e2._ownerWritableStream, r2 = new TypeError("Writer was released and can no longer be used to monitor the stream\'s closedness");\n it(e2, r2), function(e3, t3) {\n "pending" === e3._closedPromiseState ? St(e3, t3) : function(e4, t4) {\n wt(e4, t4);\n }(e3, t3);\n }(e2, r2), t2._writer = void 0, e2._ownerWritableStream = void 0;\n }(this);\n }\n write(e2) {\n return at(this) ? void 0 === this._ownerWritableStream ? d(yt("write to")) : function(e3, t2) {\n const r2 = e3._ownerWritableStream, o2 = r2._writableStreamController, n2 = function(e4, t3) {\n try {\n return e4._strategySizeAlgorithm(t3);\n } catch (t4) {\n return ft(e4, t4), 1;\n }\n }(o2, t2);\n if (r2 !== e3._ownerWritableStream)\n return d(yt("write to"));\n const a2 = r2._state;\n if ("errored" === a2)\n return d(r2._storedError);\n if (rt(r2) || "closed" === a2)\n return d(new TypeError("The stream is closing or closed and cannot be written to"));\n if ("erroring" === a2)\n return d(r2._storedError);\n const i2 = function(e4) {\n return u((t3, r3) => {\n const o3 = { _resolve: t3, _reject: r3 };\n e4._writeRequests.push(o3);\n });\n }(r2);\n return function(e4, t3, r3) {\n try {\n ue(e4, t3, r3);\n } catch (t4) {\n return void ft(e4, t4);\n }\n const o3 = e4._controlledWritableStream;\n if (!rt(o3) && "writable" === o3._state) {\n nt(o3, bt(e4));\n }\n dt(e4);\n }(o2, t2, n2), i2;\n }(this, e2) : d(mt("write"));\n }\n};\n__name(WritableStreamDefaultWriter, "WritableStreamDefaultWriter");\nfunction at(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_ownerWritableStream") && e2 instanceof WritableStreamDefaultWriter);\n}\n__name(at, "at");\nfunction it(e2, t2) {\n "pending" === e2._readyPromiseState ? Ct(e2, t2) : function(e3, t3) {\n Tt(e3, t3);\n }(e2, t2);\n}\n__name(it, "it");\nObject.defineProperties(WritableStreamDefaultWriter.prototype, { abort: { enumerable: true }, close: { enumerable: true }, releaseLock: { enumerable: true }, write: { enumerable: true }, closed: { enumerable: true }, desiredSize: { enumerable: true }, ready: { enumerable: true } }), n(WritableStreamDefaultWriter.prototype.abort, "abort"), n(WritableStreamDefaultWriter.prototype.close, "close"), n(WritableStreamDefaultWriter.prototype.releaseLock, "releaseLock"), n(WritableStreamDefaultWriter.prototype.write, "write"), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true });\nvar lt = {};\nvar WritableStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get abortReason() {\n if (!st(this))\n throw pt("abortReason");\n return this._abortReason;\n }\n get signal() {\n if (!st(this))\n throw pt("signal");\n if (void 0 === this._abortController)\n throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");\n return this._abortController.signal;\n }\n error(e2) {\n if (!st(this))\n throw pt("error");\n "writable" === this._controlledWritableStream._state && ht(this, e2);\n }\n [v](e2) {\n const t2 = this._abortAlgorithm(e2);\n return ut(this), t2;\n }\n [R]() {\n ce(this);\n }\n};\n__name(WritableStreamDefaultController, "WritableStreamDefaultController");\nfunction st(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledWritableStream") && e2 instanceof WritableStreamDefaultController);\n}\n__name(st, "st");\nfunction ut(e2) {\n e2._writeAlgorithm = void 0, e2._closeAlgorithm = void 0, e2._abortAlgorithm = void 0, e2._strategySizeAlgorithm = void 0;\n}\n__name(ut, "ut");\nfunction ct(e2) {\n return e2._strategyHWM - e2._queueTotalSize;\n}\n__name(ct, "ct");\nfunction dt(e2) {\n const t2 = e2._controlledWritableStream;\n if (!e2._started)\n return;\n if (void 0 !== t2._inFlightWriteRequest)\n return;\n if ("erroring" === t2._state)\n return void tt(t2);\n if (0 === e2._queue.length)\n return;\n const r2 = e2._queue.peek().value;\n r2 === lt ? function(e3) {\n const t3 = e3._controlledWritableStream;\n (function(e4) {\n e4._inFlightCloseRequest = e4._closeRequest, e4._closeRequest = void 0;\n })(t3), se(e3);\n const r3 = e3._closeAlgorithm();\n ut(e3), b(r3, () => (function(e4) {\n e4._inFlightCloseRequest._resolve(void 0), e4._inFlightCloseRequest = void 0, "erroring" === e4._state && (e4._storedError = void 0, void 0 !== e4._pendingAbortRequest && (e4._pendingAbortRequest._resolve(), e4._pendingAbortRequest = void 0)), e4._state = "closed";\n const t4 = e4._writer;\n void 0 !== t4 && vt(t4);\n }(t3), null), (e4) => (function(e5, t4) {\n e5._inFlightCloseRequest._reject(t4), e5._inFlightCloseRequest = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._reject(t4), e5._pendingAbortRequest = void 0), Ze(e5, t4);\n }(t3, e4), null));\n }(e2) : function(e3, t3) {\n const r3 = e3._controlledWritableStream;\n !function(e4) {\n e4._inFlightWriteRequest = e4._writeRequests.shift();\n }(r3);\n b(e3._writeAlgorithm(t3), () => {\n !function(e4) {\n e4._inFlightWriteRequest._resolve(void 0), e4._inFlightWriteRequest = void 0;\n }(r3);\n const t4 = r3._state;\n if (se(e3), !rt(r3) && "writable" === t4) {\n const t5 = bt(e3);\n nt(r3, t5);\n }\n return dt(e3), null;\n }, (t4) => ("writable" === r3._state && ut(e3), function(e4, t5) {\n e4._inFlightWriteRequest._reject(t5), e4._inFlightWriteRequest = void 0, Ze(e4, t5);\n }(r3, t4), null));\n }(e2, r2);\n}\n__name(dt, "dt");\nfunction ft(e2, t2) {\n "writable" === e2._controlledWritableStream._state && ht(e2, t2);\n}\n__name(ft, "ft");\nfunction bt(e2) {\n return ct(e2) <= 0;\n}\n__name(bt, "bt");\nfunction ht(e2, t2) {\n const r2 = e2._controlledWritableStream;\n ut(e2), et(r2, t2);\n}\n__name(ht, "ht");\nfunction _t(e2) {\n return new TypeError(`WritableStream.prototype.${e2} can only be used on a WritableStream`);\n}\n__name(_t, "_t");\nfunction pt(e2) {\n return new TypeError(`WritableStreamDefaultController.prototype.${e2} can only be used on a WritableStreamDefaultController`);\n}\n__name(pt, "pt");\nfunction mt(e2) {\n return new TypeError(`WritableStreamDefaultWriter.prototype.${e2} can only be used on a WritableStreamDefaultWriter`);\n}\n__name(mt, "mt");\nfunction yt(e2) {\n return new TypeError("Cannot " + e2 + " a stream using a released writer");\n}\n__name(yt, "yt");\nfunction gt(e2) {\n e2._closedPromise = u((t2, r2) => {\n e2._closedPromise_resolve = t2, e2._closedPromise_reject = r2, e2._closedPromiseState = "pending";\n });\n}\n__name(gt, "gt");\nfunction wt(e2, t2) {\n gt(e2), St(e2, t2);\n}\n__name(wt, "wt");\nfunction St(e2, t2) {\n void 0 !== e2._closedPromise_reject && (m(e2._closedPromise), e2._closedPromise_reject(t2), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0, e2._closedPromiseState = "rejected");\n}\n__name(St, "St");\nfunction vt(e2) {\n void 0 !== e2._closedPromise_resolve && (e2._closedPromise_resolve(void 0), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0, e2._closedPromiseState = "resolved");\n}\n__name(vt, "vt");\nfunction Rt(e2) {\n e2._readyPromise = u((t2, r2) => {\n e2._readyPromise_resolve = t2, e2._readyPromise_reject = r2;\n }), e2._readyPromiseState = "pending";\n}\n__name(Rt, "Rt");\nfunction Tt(e2, t2) {\n Rt(e2), Ct(e2, t2);\n}\n__name(Tt, "Tt");\nfunction qt(e2) {\n Rt(e2), Et(e2);\n}\n__name(qt, "qt");\nfunction Ct(e2, t2) {\n void 0 !== e2._readyPromise_reject && (m(e2._readyPromise), e2._readyPromise_reject(t2), e2._readyPromise_resolve = void 0, e2._readyPromise_reject = void 0, e2._readyPromiseState = "rejected");\n}\n__name(Ct, "Ct");\nfunction Et(e2) {\n void 0 !== e2._readyPromise_resolve && (e2._readyPromise_resolve(void 0), e2._readyPromise_resolve = void 0, e2._readyPromise_reject = void 0, e2._readyPromiseState = "fulfilled");\n}\n__name(Et, "Et");\nObject.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e.toStringTag, { value: "WritableStreamDefaultController", configurable: true });\nvar Pt = "undefined" != typeof DOMException ? DOMException : void 0;\nvar Wt = function(e2) {\n if ("function" != typeof e2 && "object" != typeof e2)\n return false;\n try {\n return new e2(), true;\n } catch (e3) {\n return false;\n }\n}(Pt) ? Pt : function() {\n const e2 = /* @__PURE__ */ __name(function(e3, t2) {\n this.message = e3 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);\n }, "e");\n return e2.prototype = Object.create(Error.prototype), Object.defineProperty(e2.prototype, "constructor", { value: e2, writable: true, configurable: true }), e2;\n}();\nfunction kt(e2, t2, r2, o2, n2, a2) {\n const i2 = e2.getReader(), l2 = t2.getWriter();\n Vt(e2) && (e2._disturbed = true);\n let s2, _2, g2, w2 = false, S2 = false, v2 = "readable", R2 = "writable", T2 = false, q2 = false;\n const C2 = u((e3) => {\n g2 = e3;\n });\n let E2 = Promise.resolve(void 0);\n return u((P2, W2) => {\n let k2;\n function O2() {\n if (w2)\n return;\n const e3 = u((e4, t3) => {\n !(/* @__PURE__ */ __name(function r3(o3) {\n o3 ? e4() : f(function() {\n if (w2)\n return c(true);\n return f(l2.ready, () => f(i2.read(), (e5) => !!e5.done || (E2 = l2.write(e5.value), m(E2), false)));\n }(), r3, t3);\n }, "r"))(false);\n });\n m(e3);\n }\n __name(O2, "O");\n function B2() {\n return v2 = "closed", r2 ? L2() : z2(() => (Ge(t2) && (T2 = rt(t2), R2 = t2._state), T2 || "closed" === R2 ? c(void 0) : "erroring" === R2 || "errored" === R2 ? d(_2) : (T2 = true, l2.close())), false, void 0), null;\n }\n __name(B2, "B");\n function A2(e3) {\n return w2 || (v2 = "errored", s2 = e3, o2 ? L2(true, e3) : z2(() => l2.abort(e3), true, e3)), null;\n }\n __name(A2, "A");\n function j2(e3) {\n return S2 || (R2 = "errored", _2 = e3, n2 ? L2(true, e3) : z2(() => i2.cancel(e3), true, e3)), null;\n }\n __name(j2, "j");\n if (void 0 !== a2 && (k2 = /* @__PURE__ */ __name(() => {\n const e3 = void 0 !== a2.reason ? a2.reason : new Wt("Aborted", "AbortError"), t3 = [];\n o2 || t3.push(() => "writable" === R2 ? l2.abort(e3) : c(void 0)), n2 || t3.push(() => "readable" === v2 ? i2.cancel(e3) : c(void 0)), z2(() => Promise.all(t3.map((e4) => e4())), true, e3);\n }, "k"), a2.aborted ? k2() : a2.addEventListener("abort", k2)), Vt(e2) && (v2 = e2._state, s2 = e2._storedError), Ge(t2) && (R2 = t2._state, _2 = t2._storedError, T2 = rt(t2)), Vt(e2) && Ge(t2) && (q2 = true, g2()), "errored" === v2)\n A2(s2);\n else if ("erroring" === R2 || "errored" === R2)\n j2(_2);\n else if ("closed" === v2)\n B2();\n else if (T2 || "closed" === R2) {\n const e3 = new TypeError("the destination writable stream closed before all data could be piped to it");\n n2 ? L2(true, e3) : z2(() => i2.cancel(e3), true, e3);\n }\n function z2(e3, t3, r3) {\n function o3() {\n return "writable" !== R2 || T2 ? n3() : h(function() {\n let e4;\n return c((/* @__PURE__ */ __name(function t4() {\n if (e4 !== E2)\n return e4 = E2, p(E2, t4, t4);\n }, "t"))());\n }(), n3), null;\n }\n __name(o3, "o");\n function n3() {\n return e3 ? b(e3(), () => F2(t3, r3), (e4) => F2(true, e4)) : F2(t3, r3), null;\n }\n __name(n3, "n");\n w2 || (w2 = true, q2 ? o3() : h(C2, o3));\n }\n __name(z2, "z");\n function L2(e3, t3) {\n z2(void 0, e3, t3);\n }\n __name(L2, "L");\n function F2(e3, t3) {\n return S2 = true, l2.releaseLock(), i2.releaseLock(), void 0 !== a2 && a2.removeEventListener("abort", k2), e3 ? W2(t3) : P2(void 0), null;\n }\n __name(F2, "F");\n w2 || (b(i2.closed, B2, A2), b(l2.closed, function() {\n return S2 || (R2 = "closed"), null;\n }, j2)), q2 ? O2() : y(() => {\n q2 = true, g2(), O2();\n });\n });\n}\n__name(kt, "kt");\nfunction Ot(e2, t2) {\n return function(e3) {\n try {\n return e3.getReader({ mode: "byob" }).releaseLock(), true;\n } catch (e4) {\n return false;\n }\n }(e2) ? function(e3) {\n let t3, r2, o2, n2, a2, i2 = e3.getReader(), l2 = false, s2 = false, d2 = false, f2 = false, h2 = false, p2 = false;\n const m2 = u((e4) => {\n a2 = e4;\n });\n function y2(e4) {\n _(e4.closed, (t4) => (e4 !== i2 || (o2.error(t4), n2.error(t4), h2 && p2 || a2(void 0)), null));\n }\n __name(y2, "y");\n function g2() {\n l2 && (i2.releaseLock(), i2 = e3.getReader(), y2(i2), l2 = false), b(i2.read(), (e4) => {\n var t4, r3;\n if (d2 = false, f2 = false, e4.done)\n return h2 || o2.close(), p2 || n2.close(), null === (t4 = o2.byobRequest) || void 0 === t4 || t4.respond(0), null === (r3 = n2.byobRequest) || void 0 === r3 || r3.respond(0), h2 && p2 || a2(void 0), null;\n const l3 = e4.value, u2 = l3;\n let c2 = l3;\n if (!h2 && !p2)\n try {\n c2 = le(l3);\n } catch (e5) {\n return o2.error(e5), n2.error(e5), a2(i2.cancel(e5)), null;\n }\n return h2 || o2.enqueue(u2), p2 || n2.enqueue(c2), s2 = false, d2 ? S2() : f2 && v2(), null;\n }, () => (s2 = false, null));\n }\n __name(g2, "g");\n function w2(t4, r3) {\n l2 || (i2.releaseLock(), i2 = e3.getReader({ mode: "byob" }), y2(i2), l2 = true);\n const u2 = r3 ? n2 : o2, c2 = r3 ? o2 : n2;\n b(i2.read(t4), (e4) => {\n var t5;\n d2 = false, f2 = false;\n const o3 = r3 ? p2 : h2, n3 = r3 ? h2 : p2;\n if (e4.done) {\n o3 || u2.close(), n3 || c2.close();\n const r4 = e4.value;\n return void 0 !== r4 && (o3 || u2.byobRequest.respondWithNewView(r4), n3 || null === (t5 = c2.byobRequest) || void 0 === t5 || t5.respond(0)), o3 && n3 || a2(void 0), null;\n }\n const l3 = e4.value;\n if (n3)\n o3 || u2.byobRequest.respondWithNewView(l3);\n else {\n let e5;\n try {\n e5 = le(l3);\n } catch (e6) {\n return u2.error(e6), c2.error(e6), a2(i2.cancel(e6)), null;\n }\n o3 || u2.byobRequest.respondWithNewView(l3), c2.enqueue(e5);\n }\n return s2 = false, d2 ? S2() : f2 && v2(), null;\n }, () => (s2 = false, null));\n }\n __name(w2, "w");\n function S2() {\n if (s2)\n return d2 = true, c(void 0);\n s2 = true;\n const e4 = o2.byobRequest;\n return null === e4 ? g2() : w2(e4.view, false), c(void 0);\n }\n __name(S2, "S");\n function v2() {\n if (s2)\n return f2 = true, c(void 0);\n s2 = true;\n const e4 = n2.byobRequest;\n return null === e4 ? g2() : w2(e4.view, true), c(void 0);\n }\n __name(v2, "v");\n function R2(e4) {\n if (h2 = true, t3 = e4, p2) {\n const e5 = [t3, r2], o3 = i2.cancel(e5);\n a2(o3);\n }\n return m2;\n }\n __name(R2, "R");\n function T2(e4) {\n if (p2 = true, r2 = e4, h2) {\n const e5 = [t3, r2], o3 = i2.cancel(e5);\n a2(o3);\n }\n return m2;\n }\n __name(T2, "T");\n const q2 = new ReadableStream({ type: "bytes", start(e4) {\n o2 = e4;\n }, pull: S2, cancel: R2 }), C2 = new ReadableStream({ type: "bytes", start(e4) {\n n2 = e4;\n }, pull: v2, cancel: T2 });\n return y2(i2), [q2, C2];\n }(e2) : function(e3, t3) {\n const r2 = e3.getReader();\n let o2, n2, a2, i2, l2, s2 = false, d2 = false, f2 = false, h2 = false;\n const p2 = u((e4) => {\n l2 = e4;\n });\n function m2() {\n return s2 ? (d2 = true, c(void 0)) : (s2 = true, b(r2.read(), (e4) => {\n if (d2 = false, e4.done)\n return f2 || a2.close(), h2 || i2.close(), f2 && h2 || l2(void 0), null;\n const t4 = e4.value, r3 = t4, o3 = t4;\n return f2 || a2.enqueue(r3), h2 || i2.enqueue(o3), s2 = false, d2 && m2(), null;\n }, () => (s2 = false, null)), c(void 0));\n }\n __name(m2, "m");\n function y2(e4) {\n if (f2 = true, o2 = e4, h2) {\n const e5 = [o2, n2], t4 = r2.cancel(e5);\n l2(t4);\n }\n return p2;\n }\n __name(y2, "y");\n function g2(e4) {\n if (h2 = true, n2 = e4, f2) {\n const e5 = [o2, n2], t4 = r2.cancel(e5);\n l2(t4);\n }\n return p2;\n }\n __name(g2, "g");\n const w2 = new ReadableStream({ start(e4) {\n a2 = e4;\n }, pull: m2, cancel: y2 }), S2 = new ReadableStream({ start(e4) {\n i2 = e4;\n }, pull: m2, cancel: g2 });\n return _(r2.closed, (e4) => (a2.error(e4), i2.error(e4), f2 && h2 || l2(void 0), null)), [w2, S2];\n }(e2);\n}\n__name(Ot, "Ot");\nvar ReadableStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get desiredSize() {\n if (!Bt(this))\n throw Dt("desiredSize");\n return Lt(this);\n }\n close() {\n if (!Bt(this))\n throw Dt("close");\n if (!Ft(this))\n throw new TypeError("The stream is not in a state that permits close");\n !function(e2) {\n if (!Ft(e2))\n return;\n const t2 = e2._controlledReadableStream;\n e2._closeRequested = true, 0 === e2._queue.length && (jt(e2), Xt(t2));\n }(this);\n }\n enqueue(e2) {\n if (!Bt(this))\n throw Dt("enqueue");\n if (!Ft(this))\n throw new TypeError("The stream is not in a state that permits enqueue");\n return function(e3, t2) {\n if (!Ft(e3))\n return;\n const r2 = e3._controlledReadableStream;\n if (Ut(r2) && X(r2) > 0)\n G(r2, t2, false);\n else {\n let r3;\n try {\n r3 = e3._strategySizeAlgorithm(t2);\n } catch (t3) {\n throw zt(e3, t3), t3;\n }\n try {\n ue(e3, t2, r3);\n } catch (t3) {\n throw zt(e3, t3), t3;\n }\n }\n At(e3);\n }(this, e2);\n }\n error(e2) {\n if (!Bt(this))\n throw Dt("error");\n zt(this, e2);\n }\n [T](e2) {\n ce(this);\n const t2 = this._cancelAlgorithm(e2);\n return jt(this), t2;\n }\n [q](e2) {\n const t2 = this._controlledReadableStream;\n if (this._queue.length > 0) {\n const r2 = se(this);\n this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e2._chunkSteps(r2);\n } else\n U(t2, e2), At(this);\n }\n [C]() {\n }\n};\n__name(ReadableStreamDefaultController, "ReadableStreamDefaultController");\nfunction Bt(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledReadableStream") && e2 instanceof ReadableStreamDefaultController);\n}\n__name(Bt, "Bt");\nfunction At(e2) {\n const t2 = function(e3) {\n const t3 = e3._controlledReadableStream;\n if (!Ft(e3))\n return false;\n if (!e3._started)\n return false;\n if (Ut(t3) && X(t3) > 0)\n return true;\n if (Lt(e3) > 0)\n return true;\n return false;\n }(e2);\n if (!t2)\n return;\n if (e2._pulling)\n return void (e2._pullAgain = true);\n e2._pulling = true;\n b(e2._pullAlgorithm(), () => (e2._pulling = false, e2._pullAgain && (e2._pullAgain = false, At(e2)), null), (t3) => (zt(e2, t3), null));\n}\n__name(At, "At");\nfunction jt(e2) {\n e2._pullAlgorithm = void 0, e2._cancelAlgorithm = void 0, e2._strategySizeAlgorithm = void 0;\n}\n__name(jt, "jt");\nfunction zt(e2, t2) {\n const r2 = e2._controlledReadableStream;\n "readable" === r2._state && (ce(e2), jt(e2), Jt(r2, t2));\n}\n__name(zt, "zt");\nfunction Lt(e2) {\n const t2 = e2._controlledReadableStream._state;\n return "errored" === t2 ? null : "closed" === t2 ? 0 : e2._strategyHWM - e2._queueTotalSize;\n}\n__name(Lt, "Lt");\nfunction Ft(e2) {\n return !e2._closeRequested && "readable" === e2._controlledReadableStream._state;\n}\n__name(Ft, "Ft");\nfunction It(e2, t2, r2, o2) {\n const n2 = Object.create(ReadableStreamDefaultController.prototype);\n let a2, i2, l2;\n a2 = void 0 !== t2.start ? () => t2.start(n2) : () => {\n }, i2 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c(void 0), l2 = void 0 !== t2.cancel ? (e3) => t2.cancel(e3) : () => c(void 0), function(e3, t3, r3, o3, n3, a3, i3) {\n t3._controlledReadableStream = e3, t3._queue = void 0, t3._queueTotalSize = void 0, ce(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i3, t3._strategyHWM = a3, t3._pullAlgorithm = o3, t3._cancelAlgorithm = n3, e3._readableStreamController = t3, b(c(r3()), () => (t3._started = true, At(t3), null), (e4) => (zt(t3, e4), null));\n }(e2, n2, a2, i2, l2, r2, o2);\n}\n__name(It, "It");\nfunction Dt(e2) {\n return new TypeError(`ReadableStreamDefaultController.prototype.${e2} can only be used on a ReadableStreamDefaultController`);\n}\n__name(Dt, "Dt");\nfunction $t(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name($t, "$t");\nfunction Mt(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(Mt, "Mt");\nfunction Yt(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(Yt, "Yt");\nfunction Qt(e2, t2) {\n if ("bytes" !== (e2 = `${e2}`))\n throw new TypeError(`${t2} \'${e2}\' is not a valid enumeration value for ReadableStreamType`);\n return e2;\n}\n__name(Qt, "Qt");\nfunction Nt(e2, t2) {\n if ("byob" !== (e2 = `${e2}`))\n throw new TypeError(`${t2} \'${e2}\' is not a valid enumeration value for ReadableStreamReaderMode`);\n return e2;\n}\n__name(Nt, "Nt");\nfunction Ht(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.preventAbort, o2 = null == e2 ? void 0 : e2.preventCancel, n2 = null == e2 ? void 0 : e2.preventClose, a2 = null == e2 ? void 0 : e2.signal;\n return void 0 !== a2 && function(e3, t3) {\n if (!function(e4) {\n if ("object" != typeof e4 || null === e4)\n return false;\n try {\n return "boolean" == typeof e4.aborted;\n } catch (e5) {\n return false;\n }\n }(e3))\n throw new TypeError(`${t3} is not an AbortSignal.`);\n }(a2, `${t2} has member \'signal\' that`), { preventAbort: Boolean(r2), preventCancel: Boolean(o2), preventClose: Boolean(n2), signal: a2 };\n}\n__name(Ht, "Ht");\nfunction xt(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.readable;\n M(r2, "readable", "ReadableWritablePair"), function(e3, t3) {\n if (!H(e3))\n throw new TypeError(`${t3} is not a ReadableStream.`);\n }(r2, `${t2} has member \'readable\' that`);\n const o2 = null == e2 ? void 0 : e2.writable;\n return M(o2, "writable", "ReadableWritablePair"), function(e3, t3) {\n if (!x(e3))\n throw new TypeError(`${t3} is not a WritableStream.`);\n }(o2, `${t2} has member \'writable\' that`), { readable: r2, writable: o2 };\n}\n__name(xt, "xt");\nObject.defineProperties(ReadableStreamDefaultController.prototype, { close: { enumerable: true }, enqueue: { enumerable: true }, error: { enumerable: true }, desiredSize: { enumerable: true } }), n(ReadableStreamDefaultController.prototype.close, "close"), n(ReadableStreamDefaultController.prototype.enqueue, "enqueue"), n(ReadableStreamDefaultController.prototype.error, "error"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e.toStringTag, { value: "ReadableStreamDefaultController", configurable: true });\nvar ReadableStream = class {\n constructor(e2 = {}, t2 = {}) {\n void 0 === e2 ? e2 = null : D(e2, "First parameter");\n const r2 = Ye(t2, "Second parameter"), o2 = function(e3, t3) {\n F(e3, t3);\n const r3 = e3, o3 = null == r3 ? void 0 : r3.autoAllocateChunkSize, n3 = null == r3 ? void 0 : r3.cancel, a2 = null == r3 ? void 0 : r3.pull, i2 = null == r3 ? void 0 : r3.start, l2 = null == r3 ? void 0 : r3.type;\n return { autoAllocateChunkSize: void 0 === o3 ? void 0 : N(o3, `${t3} has member \'autoAllocateChunkSize\' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r3, `${t3} has member \'cancel\' that`), pull: void 0 === a2 ? void 0 : Mt(a2, r3, `${t3} has member \'pull\' that`), start: void 0 === i2 ? void 0 : Yt(i2, r3, `${t3} has member \'start\' that`), type: void 0 === l2 ? void 0 : Qt(l2, `${t3} has member \'type\' that`) };\n }(e2, "First parameter");\n var n2;\n if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o2.type) {\n if (void 0 !== r2.size)\n throw new RangeError("The strategy for a byte stream cannot have a size function");\n Oe(this, o2, $e(r2, 0));\n } else {\n const e3 = Me(r2);\n It(this, o2, $e(r2, 1), e3);\n }\n }\n get locked() {\n if (!Vt(this))\n throw Kt("locked");\n return Ut(this);\n }\n cancel(e2) {\n return Vt(this) ? Ut(this) ? d(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e2) : d(Kt("cancel"));\n }\n getReader(e2) {\n if (!Vt(this))\n throw Kt("getReader");\n return void 0 === function(e3, t2) {\n F(e3, t2);\n const r2 = null == e3 ? void 0 : e3.mode;\n return { mode: void 0 === r2 ? void 0 : Nt(r2, `${t2} has member \'mode\' that`) };\n }(e2, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e3) {\n return new ReadableStreamBYOBReader(e3);\n }(this);\n }\n pipeThrough(e2, t2 = {}) {\n if (!H(this))\n throw Kt("pipeThrough");\n $(e2, 1, "pipeThrough");\n const r2 = xt(e2, "First parameter"), o2 = Ht(t2, "Second parameter");\n if (this.locked)\n throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");\n if (r2.writable.locked)\n throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");\n return m(kt(this, r2.writable, o2.preventClose, o2.preventAbort, o2.preventCancel, o2.signal)), r2.readable;\n }\n pipeTo(e2, t2 = {}) {\n if (!H(this))\n return d(Kt("pipeTo"));\n if (void 0 === e2)\n return d("Parameter 1 is required in \'pipeTo\'.");\n if (!x(e2))\n return d(new TypeError("ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream"));\n let r2;\n try {\n r2 = Ht(t2, "Second parameter");\n } catch (e3) {\n return d(e3);\n }\n return this.locked ? d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e2.locked ? d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e2, r2.preventClose, r2.preventAbort, r2.preventCancel, r2.signal);\n }\n tee() {\n if (!H(this))\n throw Kt("tee");\n if (this.locked)\n throw new TypeError("Cannot tee a stream that already has a reader");\n return Ot(this);\n }\n values(e2) {\n if (!H(this))\n throw Kt("values");\n return function(e3, t2) {\n const r2 = e3.getReader(), o2 = new te(r2, t2), n2 = Object.create(re);\n return n2._asyncIteratorImpl = o2, n2;\n }(this, function(e3, t2) {\n F(e3, t2);\n const r2 = null == e3 ? void 0 : e3.preventCancel;\n return { preventCancel: Boolean(r2) };\n }(e2, "First parameter").preventCancel);\n }\n};\n__name(ReadableStream, "ReadableStream");\nfunction Vt(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readableStreamController") && e2 instanceof ReadableStream);\n}\n__name(Vt, "Vt");\nfunction Ut(e2) {\n return void 0 !== e2._reader;\n}\n__name(Ut, "Ut");\nfunction Gt(e2, r2) {\n if (e2._disturbed = true, "closed" === e2._state)\n return c(void 0);\n if ("errored" === e2._state)\n return d(e2._storedError);\n Xt(e2);\n const o2 = e2._reader;\n if (void 0 !== o2 && Fe(o2)) {\n const e3 = o2._readIntoRequests;\n o2._readIntoRequests = new S(), e3.forEach((e4) => {\n e4._closeSteps(void 0);\n });\n }\n return p(e2._readableStreamController[T](r2), t);\n}\n__name(Gt, "Gt");\nfunction Xt(e2) {\n e2._state = "closed";\n const t2 = e2._reader;\n if (void 0 !== t2 && (j(t2), K(t2))) {\n const e3 = t2._readRequests;\n t2._readRequests = new S(), e3.forEach((e4) => {\n e4._closeSteps();\n });\n }\n}\n__name(Xt, "Xt");\nfunction Jt(e2, t2) {\n e2._state = "errored", e2._storedError = t2;\n const r2 = e2._reader;\n void 0 !== r2 && (A(r2, t2), K(r2) ? Z(r2, t2) : Ie(r2, t2));\n}\n__name(Jt, "Jt");\nfunction Kt(e2) {\n return new TypeError(`ReadableStream.prototype.${e2} can only be used on a ReadableStream`);\n}\n__name(Kt, "Kt");\nfunction Zt(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.highWaterMark;\n return M(r2, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y(r2) };\n}\n__name(Zt, "Zt");\nObject.defineProperties(ReadableStream.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream.prototype.cancel, "cancel"), n(ReadableStream.prototype.getReader, "getReader"), n(ReadableStream.prototype.pipeThrough, "pipeThrough"), n(ReadableStream.prototype.pipeTo, "pipeTo"), n(ReadableStream.prototype.tee, "tee"), n(ReadableStream.prototype.values, "values"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStream.prototype, e.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e.asyncIterator && Object.defineProperty(ReadableStream.prototype, e.asyncIterator, { value: ReadableStream.prototype.values, writable: true, configurable: true });\nvar er = /* @__PURE__ */ __name((e2) => e2.byteLength, "er");\nn(er, "size");\nvar ByteLengthQueuingStrategy = class {\n constructor(e2) {\n $(e2, 1, "ByteLengthQueuingStrategy"), e2 = Zt(e2, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e2.highWaterMark;\n }\n get highWaterMark() {\n if (!rr(this))\n throw tr("highWaterMark");\n return this._byteLengthQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!rr(this))\n throw tr("size");\n return er;\n }\n};\n__name(ByteLengthQueuingStrategy, "ByteLengthQueuingStrategy");\nfunction tr(e2) {\n return new TypeError(`ByteLengthQueuingStrategy.prototype.${e2} can only be used on a ByteLengthQueuingStrategy`);\n}\n__name(tr, "tr");\nfunction rr(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_byteLengthQueuingStrategyHighWaterMark") && e2 instanceof ByteLengthQueuingStrategy);\n}\n__name(rr, "rr");\nObject.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true });\nvar or = /* @__PURE__ */ __name(() => 1, "or");\nn(or, "size");\nvar CountQueuingStrategy = class {\n constructor(e2) {\n $(e2, 1, "CountQueuingStrategy"), e2 = Zt(e2, "First parameter"), this._countQueuingStrategyHighWaterMark = e2.highWaterMark;\n }\n get highWaterMark() {\n if (!ar(this))\n throw nr("highWaterMark");\n return this._countQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!ar(this))\n throw nr("size");\n return or;\n }\n};\n__name(CountQueuingStrategy, "CountQueuingStrategy");\nfunction nr(e2) {\n return new TypeError(`CountQueuingStrategy.prototype.${e2} can only be used on a CountQueuingStrategy`);\n}\n__name(nr, "nr");\nfunction ar(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_countQueuingStrategyHighWaterMark") && e2 instanceof CountQueuingStrategy);\n}\n__name(ar, "ar");\nfunction ir(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(ir, "ir");\nfunction lr(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(lr, "lr");\nfunction sr(e2, t2, r2) {\n return I(e2, r2), (r3, o2) => w(e2, t2, [r3, o2]);\n}\n__name(sr, "sr");\nObject.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e.toStringTag, { value: "CountQueuingStrategy", configurable: true });\nvar TransformStream = class {\n constructor(e2 = {}, t2 = {}, r2 = {}) {\n void 0 === e2 && (e2 = null);\n const o2 = Ye(t2, "Second parameter"), n2 = Ye(r2, "Third parameter"), a2 = function(e3, t3) {\n F(e3, t3);\n const r3 = null == e3 ? void 0 : e3.flush, o3 = null == e3 ? void 0 : e3.readableType, n3 = null == e3 ? void 0 : e3.start, a3 = null == e3 ? void 0 : e3.transform, i3 = null == e3 ? void 0 : e3.writableType;\n return { flush: void 0 === r3 ? void 0 : ir(r3, e3, `${t3} has member \'flush\' that`), readableType: o3, start: void 0 === n3 ? void 0 : lr(n3, e3, `${t3} has member \'start\' that`), transform: void 0 === a3 ? void 0 : sr(a3, e3, `${t3} has member \'transform\' that`), writableType: i3 };\n }(e2, "First parameter");\n if (void 0 !== a2.readableType)\n throw new RangeError("Invalid readableType specified");\n if (void 0 !== a2.writableType)\n throw new RangeError("Invalid writableType specified");\n const i2 = $e(n2, 0), l2 = Me(n2), s2 = $e(o2, 1), f2 = Me(o2);\n let b2;\n !function(e3, t3, r3, o3, n3, a3) {\n function i3() {\n return t3;\n }\n __name(i3, "i");\n function l3(t4) {\n return function(e4, t5) {\n const r4 = e4._transformStreamController;\n if (e4._backpressure) {\n return p(e4._backpressureChangePromise, () => {\n if ("erroring" === (Ge(e4._writable) ? e4._writable._state : e4._writableState))\n throw Ge(e4._writable) ? e4._writable._storedError : e4._writableStoredError;\n return pr(r4, t5);\n });\n }\n return pr(r4, t5);\n }(e3, t4);\n }\n __name(l3, "l");\n function s3(t4) {\n return function(e4, t5) {\n return cr(e4, t5), c(void 0);\n }(e3, t4);\n }\n __name(s3, "s");\n function u2() {\n return function(e4) {\n const t4 = e4._transformStreamController, r4 = t4._flushAlgorithm();\n return hr(t4), p(r4, () => {\n if ("errored" === e4._readableState)\n throw e4._readableStoredError;\n gr(e4) && wr(e4);\n }, (t5) => {\n throw cr(e4, t5), e4._readableStoredError;\n });\n }(e3);\n }\n __name(u2, "u");\n function d2() {\n return function(e4) {\n return fr(e4, false), e4._backpressureChangePromise;\n }(e3);\n }\n __name(d2, "d");\n function f3(t4) {\n return dr(e3, t4), c(void 0);\n }\n __name(f3, "f");\n e3._writableState = "writable", e3._writableStoredError = void 0, e3._writableHasInFlightOperation = false, e3._writableStarted = false, e3._writable = function(e4, t4, r4, o4, n4, a4, i4) {\n return new WritableStream({ start(r5) {\n e4._writableController = r5;\n try {\n const t5 = r5.signal;\n void 0 !== t5 && t5.addEventListener("abort", () => {\n "writable" === e4._writableState && (e4._writableState = "erroring", t5.reason && (e4._writableStoredError = t5.reason));\n });\n } catch (e5) {\n }\n return p(t4(), () => (e4._writableStarted = true, Cr(e4), null), (t5) => {\n throw e4._writableStarted = true, Rr(e4, t5), t5;\n });\n }, write: (t5) => (function(e5) {\n e5._writableHasInFlightOperation = true;\n }(e4), p(r4(t5), () => (function(e5) {\n e5._writableHasInFlightOperation = false;\n }(e4), Cr(e4), null), (t6) => {\n throw function(e5, t7) {\n e5._writableHasInFlightOperation = false, Rr(e5, t7);\n }(e4, t6), t6;\n })), close: () => (function(e5) {\n e5._writableHasInFlightOperation = true;\n }(e4), p(o4(), () => (function(e5) {\n e5._writableHasInFlightOperation = false;\n "erroring" === e5._writableState && (e5._writableStoredError = void 0);\n e5._writableState = "closed";\n }(e4), null), (t5) => {\n throw function(e5, t6) {\n e5._writableHasInFlightOperation = false, e5._writableState, Rr(e5, t6);\n }(e4, t5), t5;\n })), abort: (t5) => (e4._writableState = "errored", e4._writableStoredError = t5, n4(t5)) }, { highWaterMark: a4, size: i4 });\n }(e3, i3, l3, u2, s3, r3, o3), e3._readableState = "readable", e3._readableStoredError = void 0, e3._readableCloseRequested = false, e3._readablePulling = false, e3._readable = function(e4, t4, r4, o4, n4, a4) {\n return new ReadableStream({ start: (r5) => (e4._readableController = r5, t4().catch((t5) => {\n Sr(e4, t5);\n })), pull: () => (e4._readablePulling = true, r4().catch((t5) => {\n Sr(e4, t5);\n })), cancel: (t5) => (e4._readableState = "closed", o4(t5)) }, { highWaterMark: n4, size: a4 });\n }(e3, i3, d2, f3, n3, a3), e3._backpressure = void 0, e3._backpressureChangePromise = void 0, e3._backpressureChangePromise_resolve = void 0, fr(e3, true), e3._transformStreamController = void 0;\n }(this, u((e3) => {\n b2 = e3;\n }), s2, f2, i2, l2), function(e3, t3) {\n const r3 = Object.create(TransformStreamDefaultController.prototype);\n let o3, n3;\n o3 = void 0 !== t3.transform ? (e4) => t3.transform(e4, r3) : (e4) => {\n try {\n return _r(r3, e4), c(void 0);\n } catch (e5) {\n return d(e5);\n }\n };\n n3 = void 0 !== t3.flush ? () => t3.flush(r3) : () => c(void 0);\n !function(e4, t4, r4, o4) {\n t4._controlledTransformStream = e4, e4._transformStreamController = t4, t4._transformAlgorithm = r4, t4._flushAlgorithm = o4;\n }(e3, r3, o3, n3);\n }(this, a2), void 0 !== a2.start ? b2(a2.start(this._transformStreamController)) : b2(void 0);\n }\n get readable() {\n if (!ur(this))\n throw yr("readable");\n return this._readable;\n }\n get writable() {\n if (!ur(this))\n throw yr("writable");\n return this._writable;\n }\n};\n__name(TransformStream, "TransformStream");\nfunction ur(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_transformStreamController") && e2 instanceof TransformStream);\n}\n__name(ur, "ur");\nfunction cr(e2, t2) {\n Sr(e2, t2), dr(e2, t2);\n}\n__name(cr, "cr");\nfunction dr(e2, t2) {\n hr(e2._transformStreamController), function(e3, t3) {\n e3._writableController.error(t3);\n "writable" === e3._writableState && Tr(e3, t3);\n }(e2, t2), e2._backpressure && fr(e2, false);\n}\n__name(dr, "dr");\nfunction fr(e2, t2) {\n void 0 !== e2._backpressureChangePromise && e2._backpressureChangePromise_resolve(), e2._backpressureChangePromise = u((t3) => {\n e2._backpressureChangePromise_resolve = t3;\n }), e2._backpressure = t2;\n}\n__name(fr, "fr");\nObject.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(TransformStream.prototype, e.toStringTag, { value: "TransformStream", configurable: true });\nvar TransformStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get desiredSize() {\n if (!br(this))\n throw mr("desiredSize");\n return vr(this._controlledTransformStream);\n }\n enqueue(e2) {\n if (!br(this))\n throw mr("enqueue");\n _r(this, e2);\n }\n error(e2) {\n if (!br(this))\n throw mr("error");\n var t2;\n t2 = e2, cr(this._controlledTransformStream, t2);\n }\n terminate() {\n if (!br(this))\n throw mr("terminate");\n !function(e2) {\n const t2 = e2._controlledTransformStream;\n gr(t2) && wr(t2);\n const r2 = new TypeError("TransformStream terminated");\n dr(t2, r2);\n }(this);\n }\n};\n__name(TransformStreamDefaultController, "TransformStreamDefaultController");\nfunction br(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledTransformStream") && e2 instanceof TransformStreamDefaultController);\n}\n__name(br, "br");\nfunction hr(e2) {\n e2._transformAlgorithm = void 0, e2._flushAlgorithm = void 0;\n}\n__name(hr, "hr");\nfunction _r(e2, t2) {\n const r2 = e2._controlledTransformStream;\n if (!gr(r2))\n throw new TypeError("Readable side is not in a state that permits enqueue");\n try {\n !function(e3, t3) {\n e3._readablePulling = false;\n try {\n e3._readableController.enqueue(t3);\n } catch (t4) {\n throw Sr(e3, t4), t4;\n }\n }(r2, t2);\n } catch (e3) {\n throw dr(r2, e3), r2._readableStoredError;\n }\n const o2 = function(e3) {\n return !function(e4) {\n if (!gr(e4))\n return false;\n if (e4._readablePulling)\n return true;\n if (vr(e4) > 0)\n return true;\n return false;\n }(e3);\n }(r2);\n o2 !== r2._backpressure && fr(r2, true);\n}\n__name(_r, "_r");\nfunction pr(e2, t2) {\n return p(e2._transformAlgorithm(t2), void 0, (t3) => {\n throw cr(e2._controlledTransformStream, t3), t3;\n });\n}\n__name(pr, "pr");\nfunction mr(e2) {\n return new TypeError(`TransformStreamDefaultController.prototype.${e2} can only be used on a TransformStreamDefaultController`);\n}\n__name(mr, "mr");\nfunction yr(e2) {\n return new TypeError(`TransformStream.prototype.${e2} can only be used on a TransformStream`);\n}\n__name(yr, "yr");\nfunction gr(e2) {\n return !e2._readableCloseRequested && "readable" === e2._readableState;\n}\n__name(gr, "gr");\nfunction wr(e2) {\n e2._readableState = "closed", e2._readableCloseRequested = true, e2._readableController.close();\n}\n__name(wr, "wr");\nfunction Sr(e2, t2) {\n "readable" === e2._readableState && (e2._readableState = "errored", e2._readableStoredError = t2), e2._readableController.error(t2);\n}\n__name(Sr, "Sr");\nfunction vr(e2) {\n return e2._readableController.desiredSize;\n}\n__name(vr, "vr");\nfunction Rr(e2, t2) {\n "writable" !== e2._writableState ? qr(e2) : Tr(e2, t2);\n}\n__name(Rr, "Rr");\nfunction Tr(e2, t2) {\n e2._writableState = "erroring", e2._writableStoredError = t2, !function(e3) {\n return e3._writableHasInFlightOperation;\n }(e2) && e2._writableStarted && qr(e2);\n}\n__name(Tr, "Tr");\nfunction qr(e2) {\n e2._writableState = "errored";\n}\n__name(qr, "qr");\nfunction Cr(e2) {\n "erroring" === e2._writableState && qr(e2);\n}\n__name(Cr, "Cr");\nObject.defineProperties(TransformStreamDefaultController.prototype, { enqueue: { enumerable: true }, error: { enumerable: true }, terminate: { enumerable: true }, desiredSize: { enumerable: true } }), n(TransformStreamDefaultController.prototype.enqueue, "enqueue"), n(TransformStreamDefaultController.prototype.error, "error"), n(TransformStreamDefaultController.prototype.terminate, "terminate"), "symbol" == typeof e.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e.toStringTag, { value: "TransformStreamDefaultController", configurable: true });\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n ReadableStream,\n ReadableStreamBYOBReader,\n ReadableStreamDefaultReader,\n TransformStream,\n WritableStream,\n WritableStreamDefaultWriter\n});\n'},431:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/structured-clone.js\nvar structured_clone_exports = {};\n__export(structured_clone_exports, {\n structuredClone: () => structuredClone2\n});\nmodule.exports = __toCommonJS(structured_clone_exports);\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/types.js\nvar VOID = -1;\nvar PRIMITIVE = 0;\nvar ARRAY = 1;\nvar OBJECT = 2;\nvar DATE = 3;\nvar REGEXP = 4;\nvar MAP = 5;\nvar SET = 6;\nvar ERROR = 7;\nvar BIGINT = 8;\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/deserialize.js\nvar env = typeof self === "object" ? self : globalThis;\nvar deserializer = /* @__PURE__ */ __name(($, _) => {\n const as = /* @__PURE__ */ __name((out, index) => {\n $.set(index, out);\n return out;\n }, "as");\n const unpair = /* @__PURE__ */ __name((index) => {\n if ($.has(index))\n return $.get(index);\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index2 of value)\n arr.push(unpair(index2));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index2] of value)\n object[unpair(key)] = unpair(index2);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const { source, flags } = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(/* @__PURE__ */ new Map(), index);\n for (const [key, index2] of value)\n map.set(unpair(key), unpair(index2));\n return map;\n }\n case SET: {\n const set = as(/* @__PURE__ */ new Set(), index);\n for (const index2 of value)\n set.add(unpair(index2));\n return set;\n }\n case ERROR: {\n const { name, message } = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case "BigInt":\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n }, "unpair");\n return unpair;\n}, "deserializer");\nvar deserialize = /* @__PURE__ */ __name((serialized) => deserializer(/* @__PURE__ */ new Map(), serialized)(0), "deserialize");\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/serialize.js\nvar EMPTY = "";\nvar { toString } = {};\nvar { keys } = Object;\nvar typeOf = /* @__PURE__ */ __name((value) => {\n const type = typeof value;\n if (type !== "object" || !value)\n return [PRIMITIVE, type];\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case "Array":\n return [ARRAY, EMPTY];\n case "Object":\n return [OBJECT, EMPTY];\n case "Date":\n return [DATE, EMPTY];\n case "RegExp":\n return [REGEXP, EMPTY];\n case "Map":\n return [MAP, EMPTY];\n case "Set":\n return [SET, EMPTY];\n }\n if (asString.includes("Array"))\n return [ARRAY, asString];\n if (asString.includes("Error"))\n return [ERROR, asString];\n return [OBJECT, asString];\n}, "typeOf");\nvar shouldSkip = /* @__PURE__ */ __name(([TYPE, type]) => TYPE === PRIMITIVE && (type === "function" || type === "symbol"), "shouldSkip");\nvar serializer = /* @__PURE__ */ __name((strict, json, $, _) => {\n const as = /* @__PURE__ */ __name((out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n }, "as");\n const pair = /* @__PURE__ */ __name((value) => {\n if ($.has(value))\n return $.get(value);\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case "bigint":\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case "function":\n case "symbol":\n if (strict)\n throw new TypeError("unable to serialize " + type);\n entry = null;\n break;\n case "undefined":\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case "BigInt":\n return as([type, value.toString()], value);\n case "Boolean":\n case "Number":\n case "String":\n return as([type, value.valueOf()], value);\n }\n }\n if (json && "toJSON" in value)\n return pair(value.toJSON());\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const { source, flags } = value;\n return as([TYPE, { source, flags }], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n const { message } = value;\n return as([TYPE, { name: type, message }], value);\n }, "pair");\n return pair;\n}, "serializer");\nvar serialize = /* @__PURE__ */ __name((value, { json, lossy } = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, /* @__PURE__ */ new Map(), _)(value), _;\n}, "serialize");\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/index.js\nvar esm_default = typeof structuredClone === "function" ? (\n /* c8 ignore start */\n (any, options) => options && ("json" in options || "lossy" in options) ? deserialize(serialize(any, options)) : structuredClone(any)\n) : (any, options) => deserialize(serialize(any, options));\n\n// src/primitives/structured-clone.js\nfunction structuredClone2(value, options) {\n if (value instanceof ReadableStream) {\n const transform = new TransformStream({});\n value.pipeTo(transform.writable);\n return transform.readable;\n }\n return esm_default(value, options);\n}\n__name(structuredClone2, "structuredClone");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n structuredClone\n});\n'},776:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/text-encoding-streams.js\nvar text_encoding_streams_exports = {};\n__export(text_encoding_streams_exports, {\n TextDecoderStream: () => TextDecoderStream,\n TextEncoderStream: () => TextEncoderStream\n});\nmodule.exports = __toCommonJS(text_encoding_streams_exports);\n\n// ../../node_modules/.pnpm/@stardazed+streams-text-encoding@1.0.2/node_modules/@stardazed/streams-text-encoding/dist/sd-streams-text-encoding.esm.js\nvar decDecoder = Symbol("decDecoder");\nvar decTransform = Symbol("decTransform");\nvar TextDecodeTransformer = class {\n constructor(decoder) {\n this.decoder_ = decoder;\n }\n transform(chunk, controller) {\n if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {\n throw new TypeError("Input data must be a BufferSource");\n }\n const text = this.decoder_.decode(chunk, { stream: true });\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n flush(controller) {\n const text = this.decoder_.decode();\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n};\n__name(TextDecodeTransformer, "TextDecodeTransformer");\nvar TextDecoderStream = class {\n constructor(label, options) {\n this[decDecoder] = new TextDecoder(label, options);\n this[decTransform] = new TransformStream(new TextDecodeTransformer(this[decDecoder]));\n }\n get encoding() {\n return this[decDecoder].encoding;\n }\n get fatal() {\n return this[decDecoder].fatal;\n }\n get ignoreBOM() {\n return this[decDecoder].ignoreBOM;\n }\n get readable() {\n return this[decTransform].readable;\n }\n get writable() {\n return this[decTransform].writable;\n }\n};\n__name(TextDecoderStream, "TextDecoderStream");\nvar encEncoder = Symbol("encEncoder");\nvar encTransform = Symbol("encTransform");\nvar TextEncodeTransformer = class {\n constructor(encoder) {\n this.encoder_ = encoder;\n this.partial_ = void 0;\n }\n transform(chunk, controller) {\n let stringChunk = String(chunk);\n if (this.partial_ !== void 0) {\n stringChunk = this.partial_ + stringChunk;\n this.partial_ = void 0;\n }\n const lastCharIndex = stringChunk.length - 1;\n const lastCodeUnit = stringChunk.charCodeAt(lastCharIndex);\n if (lastCodeUnit >= 55296 && lastCodeUnit < 56320) {\n this.partial_ = String.fromCharCode(lastCodeUnit);\n stringChunk = stringChunk.substring(0, lastCharIndex);\n }\n const bytes = this.encoder_.encode(stringChunk);\n if (bytes.length !== 0) {\n controller.enqueue(bytes);\n }\n }\n flush(controller) {\n if (this.partial_) {\n controller.enqueue(this.encoder_.encode(this.partial_));\n this.partial_ = void 0;\n }\n }\n};\n__name(TextEncodeTransformer, "TextEncodeTransformer");\nvar TextEncoderStream = class {\n constructor() {\n this[encEncoder] = new TextEncoder();\n this[encTransform] = new TransformStream(new TextEncodeTransformer(this[encEncoder]));\n }\n get encoding() {\n return this[encEncoder].encoding;\n }\n get readable() {\n return this[encTransform].readable;\n }\n get writable() {\n return this[encTransform].writable;\n }\n};\n__name(TextEncoderStream, "TextEncoderStream");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n TextDecoderStream,\n TextEncoderStream\n});\n'},56:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/url.js\nvar url_exports = {};\n__export(url_exports, {\n URLPattern: () => URLPattern\n});\nmodule.exports = __toCommonJS(url_exports);\n\n// ../../node_modules/.pnpm/urlpattern-polyfill@8.0.2/node_modules/urlpattern-polyfill/dist/urlpattern.js\nvar Part = /* @__PURE__ */ __name(class {\n constructor(type, name, prefix, value, suffix, modifier) {\n this.type = 3;\n this.name = "";\n this.prefix = "";\n this.value = "";\n this.suffix = "";\n this.modifier = 3;\n this.type = type;\n this.name = name;\n this.prefix = prefix;\n this.value = value;\n this.suffix = suffix;\n this.modifier = modifier;\n }\n hasCustomName() {\n return this.name !== "" && typeof this.name !== "number";\n }\n}, "Part");\nvar regexIdentifierStart = /[$_\\p{ID_Start}]/u;\nvar regexIdentifierPart = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\nvar kFullWildcardRegex = ".*";\nfunction isASCII(str, extended) {\n return (extended ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(str);\n}\n__name(isASCII, "isASCII");\nfunction lexer(str, lenient = false) {\n const tokens = [];\n let i = 0;\n while (i < str.length) {\n const char = str[i];\n const ErrorOrInvalid = /* @__PURE__ */ __name(function(msg) {\n if (!lenient)\n throw new TypeError(msg);\n tokens.push({ type: "INVALID_CHAR", index: i, value: str[i++] });\n }, "ErrorOrInvalid");\n if (char === "*") {\n tokens.push({ type: "ASTERISK", index: i, value: str[i++] });\n continue;\n }\n if (char === "+" || char === "?") {\n tokens.push({ type: "OTHER_MODIFIER", index: i, value: str[i++] });\n continue;\n }\n if (char === "\\\\") {\n tokens.push({ type: "ESCAPED_CHAR", index: i++, value: str[i++] });\n continue;\n }\n if (char === "{") {\n tokens.push({ type: "OPEN", index: i, value: str[i++] });\n continue;\n }\n if (char === "}") {\n tokens.push({ type: "CLOSE", index: i, value: str[i++] });\n continue;\n }\n if (char === ":") {\n let name = "";\n let j = i + 1;\n while (j < str.length) {\n const code = str.substr(j, 1);\n if (j === i + 1 && regexIdentifierStart.test(code) || j !== i + 1 && regexIdentifierPart.test(code)) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name) {\n ErrorOrInvalid(`Missing parameter name at ${i}`);\n continue;\n }\n tokens.push({ type: "NAME", index: i, value: name });\n i = j;\n continue;\n }\n if (char === "(") {\n let count = 1;\n let pattern = "";\n let j = i + 1;\n let error = false;\n if (str[j] === "?") {\n ErrorOrInvalid(`Pattern cannot start with "?" at ${j}`);\n continue;\n }\n while (j < str.length) {\n if (!isASCII(str[j], false)) {\n ErrorOrInvalid(`Invalid character \'${str[j]}\' at ${j}.`);\n error = true;\n break;\n }\n if (str[j] === "\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === ")") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === "(") {\n count++;\n if (str[j + 1] !== "?") {\n ErrorOrInvalid(`Capturing groups are not allowed at ${j}`);\n error = true;\n break;\n }\n }\n pattern += str[j++];\n }\n if (error) {\n continue;\n }\n if (count) {\n ErrorOrInvalid(`Unbalanced pattern at ${i}`);\n continue;\n }\n if (!pattern) {\n ErrorOrInvalid(`Missing pattern at ${i}`);\n continue;\n }\n tokens.push({ type: "REGEX", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: "CHAR", index: i, value: str[i++] });\n }\n tokens.push({ type: "END", index: i, value: "" });\n return tokens;\n}\n__name(lexer, "lexer");\nfunction parse(str, options = {}) {\n const tokens = lexer(str);\n options.delimiter ?? (options.delimiter = "/#?");\n options.prefixes ?? (options.prefixes = "./");\n const segmentWildcardRegex = `[^${escapeString(options.delimiter)}]+?`;\n const result = [];\n let key = 0;\n let i = 0;\n let path = "";\n let nameSet = /* @__PURE__ */ new Set();\n const tryConsume = /* @__PURE__ */ __name((type) => {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n }, "tryConsume");\n const tryConsumeModifier = /* @__PURE__ */ __name(() => {\n return tryConsume("OTHER_MODIFIER") ?? tryConsume("ASTERISK");\n }, "tryConsumeModifier");\n const mustConsume = /* @__PURE__ */ __name((type) => {\n const value = tryConsume(type);\n if (value !== void 0)\n return value;\n const { type: nextType, index } = tokens[i];\n throw new TypeError(`Unexpected ${nextType} at ${index}, expected ${type}`);\n }, "mustConsume");\n const consumeText = /* @__PURE__ */ __name(() => {\n let result2 = "";\n let value;\n while (value = tryConsume("CHAR") ?? tryConsume("ESCAPED_CHAR")) {\n result2 += value;\n }\n return result2;\n }, "consumeText");\n const DefaultEncodePart = /* @__PURE__ */ __name((value) => {\n return value;\n }, "DefaultEncodePart");\n const encodePart = options.encodePart || DefaultEncodePart;\n let pendingFixedValue = "";\n const appendToPendingFixedValue = /* @__PURE__ */ __name((value) => {\n pendingFixedValue += value;\n }, "appendToPendingFixedValue");\n const maybeAddPartFromPendingFixedValue = /* @__PURE__ */ __name(() => {\n if (!pendingFixedValue.length) {\n return;\n }\n result.push(new Part(\n 3,\n "",\n "",\n encodePart(pendingFixedValue),\n "",\n 3\n /* kNone */\n ));\n pendingFixedValue = "";\n }, "maybeAddPartFromPendingFixedValue");\n const addPart = /* @__PURE__ */ __name((prefix, nameToken, regexOrWildcardToken, suffix, modifierToken) => {\n let modifier = 3;\n switch (modifierToken) {\n case "?":\n modifier = 1;\n break;\n case "*":\n modifier = 0;\n break;\n case "+":\n modifier = 2;\n break;\n }\n if (!nameToken && !regexOrWildcardToken && modifier === 3) {\n appendToPendingFixedValue(prefix);\n return;\n }\n maybeAddPartFromPendingFixedValue();\n if (!nameToken && !regexOrWildcardToken) {\n if (!prefix) {\n return;\n }\n result.push(new Part(3, "", "", encodePart(prefix), "", modifier));\n return;\n }\n let regexValue;\n if (!regexOrWildcardToken) {\n regexValue = segmentWildcardRegex;\n } else if (regexOrWildcardToken === "*") {\n regexValue = kFullWildcardRegex;\n } else {\n regexValue = regexOrWildcardToken;\n }\n let type = 2;\n if (regexValue === segmentWildcardRegex) {\n type = 1;\n regexValue = "";\n } else if (regexValue === kFullWildcardRegex) {\n type = 0;\n regexValue = "";\n }\n let name;\n if (nameToken) {\n name = nameToken;\n } else if (regexOrWildcardToken) {\n name = key++;\n }\n if (nameSet.has(name)) {\n throw new TypeError(`Duplicate name \'${name}\'.`);\n }\n nameSet.add(name);\n result.push(new Part(type, name, encodePart(prefix), regexValue, encodePart(suffix), modifier));\n }, "addPart");\n while (i < tokens.length) {\n const charToken = tryConsume("CHAR");\n const nameToken = tryConsume("NAME");\n let regexOrWildcardToken = tryConsume("REGEX");\n if (!nameToken && !regexOrWildcardToken) {\n regexOrWildcardToken = tryConsume("ASTERISK");\n }\n if (nameToken || regexOrWildcardToken) {\n let prefix = charToken ?? "";\n if (options.prefixes.indexOf(prefix) === -1) {\n appendToPendingFixedValue(prefix);\n prefix = "";\n }\n maybeAddPartFromPendingFixedValue();\n let modifierToken = tryConsumeModifier();\n addPart(prefix, nameToken, regexOrWildcardToken, "", modifierToken);\n continue;\n }\n const value = charToken ?? tryConsume("ESCAPED_CHAR");\n if (value) {\n appendToPendingFixedValue(value);\n continue;\n }\n const openToken = tryConsume("OPEN");\n if (openToken) {\n const prefix = consumeText();\n const nameToken2 = tryConsume("NAME");\n let regexOrWildcardToken2 = tryConsume("REGEX");\n if (!nameToken2 && !regexOrWildcardToken2) {\n regexOrWildcardToken2 = tryConsume("ASTERISK");\n }\n const suffix = consumeText();\n mustConsume("CLOSE");\n const modifierToken = tryConsumeModifier();\n addPart(prefix, nameToken2, regexOrWildcardToken2, suffix, modifierToken);\n continue;\n }\n maybeAddPartFromPendingFixedValue();\n mustConsume("END");\n }\n return result;\n}\n__name(parse, "parse");\nfunction escapeString(str) {\n return str.replace(/([.+*?^${}()[\\]|/\\\\])/g, "\\\\$1");\n}\n__name(escapeString, "escapeString");\nfunction flags(options) {\n return options && options.ignoreCase ? "ui" : "u";\n}\n__name(flags, "flags");\nfunction stringToRegexp(path, names, options) {\n return partsToRegexp(parse(path, options), names, options);\n}\n__name(stringToRegexp, "stringToRegexp");\nfunction modifierToString(modifier) {\n switch (modifier) {\n case 0:\n return "*";\n case 1:\n return "?";\n case 2:\n return "+";\n case 3:\n return "";\n }\n}\n__name(modifierToString, "modifierToString");\nfunction partsToRegexp(parts, names, options = {}) {\n options.delimiter ?? (options.delimiter = "/#?");\n options.prefixes ?? (options.prefixes = "./");\n options.sensitive ?? (options.sensitive = false);\n options.strict ?? (options.strict = false);\n options.end ?? (options.end = true);\n options.start ?? (options.start = true);\n options.endsWith = "";\n let result = options.start ? "^" : "";\n for (const part of parts) {\n if (part.type === 3) {\n if (part.modifier === 3) {\n result += escapeString(part.value);\n } else {\n result += `(?:${escapeString(part.value)})${modifierToString(part.modifier)}`;\n }\n continue;\n }\n if (names)\n names.push(part.name);\n const segmentWildcardRegex = `[^${escapeString(options.delimiter)}]+?`;\n let regexValue = part.value;\n if (part.type === 1)\n regexValue = segmentWildcardRegex;\n else if (part.type === 0)\n regexValue = kFullWildcardRegex;\n if (!part.prefix.length && !part.suffix.length) {\n if (part.modifier === 3 || part.modifier === 1) {\n result += `(${regexValue})${modifierToString(part.modifier)}`;\n } else {\n result += `((?:${regexValue})${modifierToString(part.modifier)})`;\n }\n continue;\n }\n if (part.modifier === 3 || part.modifier === 1) {\n result += `(?:${escapeString(part.prefix)}(${regexValue})${escapeString(part.suffix)})`;\n result += modifierToString(part.modifier);\n continue;\n }\n result += `(?:${escapeString(part.prefix)}`;\n result += `((?:${regexValue})(?:`;\n result += escapeString(part.suffix);\n result += escapeString(part.prefix);\n result += `(?:${regexValue}))*)${escapeString(part.suffix)})`;\n if (part.modifier === 0) {\n result += "?";\n }\n }\n const endsWith = `[${escapeString(options.endsWith)}]|$`;\n const delimiter = `[${escapeString(options.delimiter)}]`;\n if (options.end) {\n if (!options.strict) {\n result += `${delimiter}?`;\n }\n if (!options.endsWith.length) {\n result += "$";\n } else {\n result += `(?=${endsWith})`;\n }\n return new RegExp(result, flags(options));\n }\n if (!options.strict) {\n result += `(?:${delimiter}(?=${endsWith}))?`;\n }\n let isEndDelimited = false;\n if (parts.length) {\n const lastPart = parts[parts.length - 1];\n if (lastPart.type === 3 && lastPart.modifier === 3) {\n isEndDelimited = options.delimiter.indexOf(lastPart) > -1;\n }\n }\n if (!isEndDelimited) {\n result += `(?=${delimiter}|${endsWith})`;\n }\n return new RegExp(result, flags(options));\n}\n__name(partsToRegexp, "partsToRegexp");\nvar DEFAULT_OPTIONS = {\n delimiter: "",\n prefixes: "",\n sensitive: true,\n strict: true\n};\nvar HOSTNAME_OPTIONS = {\n delimiter: ".",\n prefixes: "",\n sensitive: true,\n strict: true\n};\nvar PATHNAME_OPTIONS = {\n delimiter: "/",\n prefixes: "/",\n sensitive: true,\n strict: true\n};\nfunction isAbsolutePathname(pathname, isPattern) {\n if (!pathname.length) {\n return false;\n }\n if (pathname[0] === "/") {\n return true;\n }\n if (!isPattern) {\n return false;\n }\n if (pathname.length < 2) {\n return false;\n }\n if ((pathname[0] == "\\\\" || pathname[0] == "{") && pathname[1] == "/") {\n return true;\n }\n return false;\n}\n__name(isAbsolutePathname, "isAbsolutePathname");\nfunction maybeStripPrefix(value, prefix) {\n if (value.startsWith(prefix)) {\n return value.substring(prefix.length, value.length);\n }\n return value;\n}\n__name(maybeStripPrefix, "maybeStripPrefix");\nfunction maybeStripSuffix(value, suffix) {\n if (value.endsWith(suffix)) {\n return value.substr(0, value.length - suffix.length);\n }\n return value;\n}\n__name(maybeStripSuffix, "maybeStripSuffix");\nfunction treatAsIPv6Hostname(value) {\n if (!value || value.length < 2) {\n return false;\n }\n if (value[0] === "[") {\n return true;\n }\n if ((value[0] === "\\\\" || value[0] === "{") && value[1] === "[") {\n return true;\n }\n return false;\n}\n__name(treatAsIPv6Hostname, "treatAsIPv6Hostname");\nvar SPECIAL_SCHEMES = [\n "ftp",\n "file",\n "http",\n "https",\n "ws",\n "wss"\n];\nfunction isSpecialScheme(protocol_regexp) {\n if (!protocol_regexp) {\n return true;\n }\n for (const scheme of SPECIAL_SCHEMES) {\n if (protocol_regexp.test(scheme)) {\n return true;\n }\n }\n return false;\n}\n__name(isSpecialScheme, "isSpecialScheme");\nfunction canonicalizeHash(hash, isPattern) {\n hash = maybeStripPrefix(hash, "#");\n if (isPattern || hash === "") {\n return hash;\n }\n const url = new URL("https://example.com");\n url.hash = hash;\n return url.hash ? url.hash.substring(1, url.hash.length) : "";\n}\n__name(canonicalizeHash, "canonicalizeHash");\nfunction canonicalizeSearch(search, isPattern) {\n search = maybeStripPrefix(search, "?");\n if (isPattern || search === "") {\n return search;\n }\n const url = new URL("https://example.com");\n url.search = search;\n return url.search ? url.search.substring(1, url.search.length) : "";\n}\n__name(canonicalizeSearch, "canonicalizeSearch");\nfunction canonicalizeHostname(hostname, isPattern) {\n if (isPattern || hostname === "") {\n return hostname;\n }\n if (treatAsIPv6Hostname(hostname)) {\n return ipv6HostnameEncodeCallback(hostname);\n } else {\n return hostnameEncodeCallback(hostname);\n }\n}\n__name(canonicalizeHostname, "canonicalizeHostname");\nfunction canonicalizePassword(password, isPattern) {\n if (isPattern || password === "") {\n return password;\n }\n const url = new URL("https://example.com");\n url.password = password;\n return url.password;\n}\n__name(canonicalizePassword, "canonicalizePassword");\nfunction canonicalizeUsername(username, isPattern) {\n if (isPattern || username === "") {\n return username;\n }\n const url = new URL("https://example.com");\n url.username = username;\n return url.username;\n}\n__name(canonicalizeUsername, "canonicalizeUsername");\nfunction canonicalizePathname(pathname, protocol, isPattern) {\n if (isPattern || pathname === "") {\n return pathname;\n }\n if (protocol && !SPECIAL_SCHEMES.includes(protocol)) {\n const url = new URL(`${protocol}:${pathname}`);\n return url.pathname;\n }\n const leadingSlash = pathname[0] == "/";\n pathname = new URL(\n !leadingSlash ? "/-" + pathname : pathname,\n "https://example.com"\n ).pathname;\n if (!leadingSlash) {\n pathname = pathname.substring(2, pathname.length);\n }\n return pathname;\n}\n__name(canonicalizePathname, "canonicalizePathname");\nfunction canonicalizePort(port, protocol, isPattern) {\n if (defaultPortForProtocol(protocol) === port) {\n port = "";\n }\n if (isPattern || port === "") {\n return port;\n }\n return portEncodeCallback(port);\n}\n__name(canonicalizePort, "canonicalizePort");\nfunction canonicalizeProtocol(protocol, isPattern) {\n protocol = maybeStripSuffix(protocol, ":");\n if (isPattern || protocol === "") {\n return protocol;\n }\n return protocolEncodeCallback(protocol);\n}\n__name(canonicalizeProtocol, "canonicalizeProtocol");\nfunction defaultPortForProtocol(protocol) {\n switch (protocol) {\n case "ws":\n case "http":\n return "80";\n case "wws":\n case "https":\n return "443";\n case "ftp":\n return "21";\n default:\n return "";\n }\n}\n__name(defaultPortForProtocol, "defaultPortForProtocol");\nfunction protocolEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n if (/^[-+.A-Za-z0-9]*$/.test(input))\n return input.toLowerCase();\n throw new TypeError(`Invalid protocol \'${input}\'.`);\n}\n__name(protocolEncodeCallback, "protocolEncodeCallback");\nfunction usernameEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL("https://example.com");\n url.username = input;\n return url.username;\n}\n__name(usernameEncodeCallback, "usernameEncodeCallback");\nfunction passwordEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL("https://example.com");\n url.password = input;\n return url.password;\n}\n__name(passwordEncodeCallback, "passwordEncodeCallback");\nfunction hostnameEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(input)) {\n throw new TypeError(`Invalid hostname \'${input}\'`);\n }\n const url = new URL("https://example.com");\n url.hostname = input;\n return url.hostname;\n}\n__name(hostnameEncodeCallback, "hostnameEncodeCallback");\nfunction ipv6HostnameEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n if (/[^0-9a-fA-F[\\]:]/g.test(input)) {\n throw new TypeError(`Invalid IPv6 hostname \'${input}\'`);\n }\n return input.toLowerCase();\n}\n__name(ipv6HostnameEncodeCallback, "ipv6HostnameEncodeCallback");\nfunction portEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n if (/^[0-9]*$/.test(input) && parseInt(input) <= 65535) {\n return input;\n }\n throw new TypeError(`Invalid port \'${input}\'.`);\n}\n__name(portEncodeCallback, "portEncodeCallback");\nfunction standardURLPathnameEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL("https://example.com");\n url.pathname = input[0] !== "/" ? "/-" + input : input;\n if (input[0] !== "/") {\n return url.pathname.substring(2, url.pathname.length);\n }\n return url.pathname;\n}\n__name(standardURLPathnameEncodeCallback, "standardURLPathnameEncodeCallback");\nfunction pathURLPathnameEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL(`data:${input}`);\n return url.pathname;\n}\n__name(pathURLPathnameEncodeCallback, "pathURLPathnameEncodeCallback");\nfunction searchEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL("https://example.com");\n url.search = input;\n return url.search.substring(1, url.search.length);\n}\n__name(searchEncodeCallback, "searchEncodeCallback");\nfunction hashEncodeCallback(input) {\n if (input === "") {\n return input;\n }\n const url = new URL("https://example.com");\n url.hash = input;\n return url.hash.substring(1, url.hash.length);\n}\n__name(hashEncodeCallback, "hashEncodeCallback");\nvar Parser = /* @__PURE__ */ __name(class {\n constructor(input) {\n this.tokenList = [];\n this.internalResult = {};\n this.tokenIndex = 0;\n this.tokenIncrement = 1;\n this.componentStart = 0;\n this.state = 0;\n this.groupDepth = 0;\n this.hostnameIPv6BracketDepth = 0;\n this.shouldTreatAsStandardURL = false;\n this.input = input;\n }\n // Return the parse result. The result is only available after the\n // `parse()` method completes.\n get result() {\n return this.internalResult;\n }\n // Attempt to parse the input string used to construct the Parser object.\n // This method may only be called once. Any errors will be thrown as an\n // exception. Retrieve the parse result by accessing the `Parser.result`\n // property getter.\n parse() {\n this.tokenList = lexer(\n this.input,\n /*lenient=*/\n true\n );\n for (; this.tokenIndex < this.tokenList.length; this.tokenIndex += this.tokenIncrement) {\n this.tokenIncrement = 1;\n if (this.tokenList[this.tokenIndex].type === "END") {\n if (this.state === 0) {\n this.rewind();\n if (this.isHashPrefix()) {\n this.changeState(\n 9,\n /*skip=*/\n 1\n );\n } else if (this.isSearchPrefix()) {\n this.changeState(\n 8,\n /*skip=*/\n 1\n );\n this.internalResult.hash = "";\n } else {\n this.changeState(\n 7,\n /*skip=*/\n 0\n );\n this.internalResult.search = "";\n this.internalResult.hash = "";\n }\n continue;\n } else if (this.state === 2) {\n this.rewindAndSetState(\n 5\n /* HOSTNAME */\n );\n continue;\n }\n this.changeState(\n 10,\n /*skip=*/\n 0\n );\n break;\n }\n if (this.groupDepth > 0) {\n if (this.isGroupClose()) {\n this.groupDepth -= 1;\n } else {\n continue;\n }\n }\n if (this.isGroupOpen()) {\n this.groupDepth += 1;\n continue;\n }\n switch (this.state) {\n case 0:\n if (this.isProtocolSuffix()) {\n this.internalResult.username = "";\n this.internalResult.password = "";\n this.internalResult.hostname = "";\n this.internalResult.port = "";\n this.internalResult.pathname = "";\n this.internalResult.search = "";\n this.internalResult.hash = "";\n this.rewindAndSetState(\n 1\n /* PROTOCOL */\n );\n }\n break;\n case 1:\n if (this.isProtocolSuffix()) {\n this.computeShouldTreatAsStandardURL();\n let nextState = 7;\n let skip = 1;\n if (this.shouldTreatAsStandardURL) {\n this.internalResult.pathname = "/";\n }\n if (this.nextIsAuthoritySlashes()) {\n nextState = 2;\n skip = 3;\n } else if (this.shouldTreatAsStandardURL) {\n nextState = 2;\n }\n this.changeState(nextState, skip);\n }\n break;\n case 2:\n if (this.isIdentityTerminator()) {\n this.rewindAndSetState(\n 3\n /* USERNAME */\n );\n } else if (this.isPathnameStart() || this.isSearchPrefix() || this.isHashPrefix()) {\n this.rewindAndSetState(\n 5\n /* HOSTNAME */\n );\n }\n break;\n case 3:\n if (this.isPasswordPrefix()) {\n this.changeState(\n 4,\n /*skip=*/\n 1\n );\n } else if (this.isIdentityTerminator()) {\n this.changeState(\n 5,\n /*skip=*/\n 1\n );\n }\n break;\n case 4:\n if (this.isIdentityTerminator()) {\n this.changeState(\n 5,\n /*skip=*/\n 1\n );\n }\n break;\n case 5:\n if (this.isIPv6Open()) {\n this.hostnameIPv6BracketDepth += 1;\n } else if (this.isIPv6Close()) {\n this.hostnameIPv6BracketDepth -= 1;\n }\n if (this.isPortPrefix() && !this.hostnameIPv6BracketDepth) {\n this.changeState(\n 6,\n /*skip=*/\n 1\n );\n } else if (this.isPathnameStart()) {\n this.changeState(\n 7,\n /*skip=*/\n 0\n );\n } else if (this.isSearchPrefix()) {\n this.changeState(\n 8,\n /*skip=*/\n 1\n );\n } else if (this.isHashPrefix()) {\n this.changeState(\n 9,\n /*skip=*/\n 1\n );\n }\n break;\n case 6:\n if (this.isPathnameStart()) {\n this.changeState(\n 7,\n /*skip=*/\n 0\n );\n } else if (this.isSearchPrefix()) {\n this.changeState(\n 8,\n /*skip=*/\n 1\n );\n } else if (this.isHashPrefix()) {\n this.changeState(\n 9,\n /*skip=*/\n 1\n );\n }\n break;\n case 7:\n if (this.isSearchPrefix()) {\n this.changeState(\n 8,\n /*skip=*/\n 1\n );\n } else if (this.isHashPrefix()) {\n this.changeState(\n 9,\n /*skip=*/\n 1\n );\n }\n break;\n case 8:\n if (this.isHashPrefix()) {\n this.changeState(\n 9,\n /*skip=*/\n 1\n );\n }\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n }\n changeState(newState, skip) {\n switch (this.state) {\n case 0:\n break;\n case 1:\n this.internalResult.protocol = this.makeComponentString();\n break;\n case 2:\n break;\n case 3:\n this.internalResult.username = this.makeComponentString();\n break;\n case 4:\n this.internalResult.password = this.makeComponentString();\n break;\n case 5:\n this.internalResult.hostname = this.makeComponentString();\n break;\n case 6:\n this.internalResult.port = this.makeComponentString();\n break;\n case 7:\n this.internalResult.pathname = this.makeComponentString();\n break;\n case 8:\n this.internalResult.search = this.makeComponentString();\n break;\n case 9:\n this.internalResult.hash = this.makeComponentString();\n break;\n case 10:\n break;\n }\n this.changeStateWithoutSettingComponent(newState, skip);\n }\n changeStateWithoutSettingComponent(newState, skip) {\n this.state = newState;\n this.componentStart = this.tokenIndex + skip;\n this.tokenIndex += skip;\n this.tokenIncrement = 0;\n }\n rewind() {\n this.tokenIndex = this.componentStart;\n this.tokenIncrement = 0;\n }\n rewindAndSetState(newState) {\n this.rewind();\n this.state = newState;\n }\n safeToken(index) {\n if (index < 0) {\n index = this.tokenList.length - index;\n }\n if (index < this.tokenList.length) {\n return this.tokenList[index];\n }\n return this.tokenList[this.tokenList.length - 1];\n }\n isNonSpecialPatternChar(index, value) {\n const token = this.safeToken(index);\n return token.value === value && (token.type === "CHAR" || token.type === "ESCAPED_CHAR" || token.type === "INVALID_CHAR");\n }\n isProtocolSuffix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, ":");\n }\n nextIsAuthoritySlashes() {\n return this.isNonSpecialPatternChar(this.tokenIndex + 1, "/") && this.isNonSpecialPatternChar(this.tokenIndex + 2, "/");\n }\n isIdentityTerminator() {\n return this.isNonSpecialPatternChar(this.tokenIndex, "@");\n }\n isPasswordPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, ":");\n }\n isPortPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, ":");\n }\n isPathnameStart() {\n return this.isNonSpecialPatternChar(this.tokenIndex, "/");\n }\n isSearchPrefix() {\n if (this.isNonSpecialPatternChar(this.tokenIndex, "?")) {\n return true;\n }\n if (this.tokenList[this.tokenIndex].value !== "?") {\n return false;\n }\n const previousToken = this.safeToken(this.tokenIndex - 1);\n return previousToken.type !== "NAME" && previousToken.type !== "REGEX" && previousToken.type !== "CLOSE" && previousToken.type !== "ASTERISK";\n }\n isHashPrefix() {\n return this.isNonSpecialPatternChar(this.tokenIndex, "#");\n }\n isGroupOpen() {\n return this.tokenList[this.tokenIndex].type == "OPEN";\n }\n isGroupClose() {\n return this.tokenList[this.tokenIndex].type == "CLOSE";\n }\n isIPv6Open() {\n return this.isNonSpecialPatternChar(this.tokenIndex, "[");\n }\n isIPv6Close() {\n return this.isNonSpecialPatternChar(this.tokenIndex, "]");\n }\n makeComponentString() {\n const token = this.tokenList[this.tokenIndex];\n const componentCharStart = this.safeToken(this.componentStart).index;\n return this.input.substring(componentCharStart, token.index);\n }\n computeShouldTreatAsStandardURL() {\n const options = {};\n Object.assign(options, DEFAULT_OPTIONS);\n options.encodePart = protocolEncodeCallback;\n const regexp = stringToRegexp(\n this.makeComponentString(),\n /*keys=*/\n void 0,\n options\n );\n this.shouldTreatAsStandardURL = isSpecialScheme(regexp);\n }\n}, "Parser");\nvar COMPONENTS = [\n "protocol",\n "username",\n "password",\n "hostname",\n "port",\n "pathname",\n "search",\n "hash"\n];\nvar DEFAULT_PATTERN = "*";\nfunction extractValues(url, baseURL) {\n if (typeof url !== "string") {\n throw new TypeError(`parameter 1 is not of type \'string\'.`);\n }\n const o = new URL(url, baseURL);\n return {\n protocol: o.protocol.substring(0, o.protocol.length - 1),\n username: o.username,\n password: o.password,\n hostname: o.hostname,\n port: o.port,\n pathname: o.pathname,\n search: o.search !== "" ? o.search.substring(1, o.search.length) : void 0,\n hash: o.hash !== "" ? o.hash.substring(1, o.hash.length) : void 0\n };\n}\n__name(extractValues, "extractValues");\nfunction processBaseURLString(input, isPattern) {\n if (!isPattern) {\n return input;\n }\n return escapePatternString(input);\n}\n__name(processBaseURLString, "processBaseURLString");\nfunction applyInit(o, init, isPattern) {\n let baseURL;\n if (typeof init.baseURL === "string") {\n try {\n baseURL = new URL(init.baseURL);\n o.protocol = processBaseURLString(baseURL.protocol.substring(0, baseURL.protocol.length - 1), isPattern);\n o.username = processBaseURLString(baseURL.username, isPattern);\n o.password = processBaseURLString(baseURL.password, isPattern);\n o.hostname = processBaseURLString(baseURL.hostname, isPattern);\n o.port = processBaseURLString(baseURL.port, isPattern);\n o.pathname = processBaseURLString(baseURL.pathname, isPattern);\n o.search = processBaseURLString(baseURL.search.substring(1, baseURL.search.length), isPattern);\n o.hash = processBaseURLString(baseURL.hash.substring(1, baseURL.hash.length), isPattern);\n } catch {\n throw new TypeError(`invalid baseURL \'${init.baseURL}\'.`);\n }\n }\n if (typeof init.protocol === "string") {\n o.protocol = canonicalizeProtocol(init.protocol, isPattern);\n }\n if (typeof init.username === "string") {\n o.username = canonicalizeUsername(init.username, isPattern);\n }\n if (typeof init.password === "string") {\n o.password = canonicalizePassword(init.password, isPattern);\n }\n if (typeof init.hostname === "string") {\n o.hostname = canonicalizeHostname(init.hostname, isPattern);\n }\n if (typeof init.port === "string") {\n o.port = canonicalizePort(init.port, o.protocol, isPattern);\n }\n if (typeof init.pathname === "string") {\n o.pathname = init.pathname;\n if (baseURL && !isAbsolutePathname(o.pathname, isPattern)) {\n const slashIndex = baseURL.pathname.lastIndexOf("/");\n if (slashIndex >= 0) {\n o.pathname = processBaseURLString(baseURL.pathname.substring(0, slashIndex + 1), isPattern) + o.pathname;\n }\n }\n o.pathname = canonicalizePathname(o.pathname, o.protocol, isPattern);\n }\n if (typeof init.search === "string") {\n o.search = canonicalizeSearch(init.search, isPattern);\n }\n if (typeof init.hash === "string") {\n o.hash = canonicalizeHash(init.hash, isPattern);\n }\n return o;\n}\n__name(applyInit, "applyInit");\nfunction escapePatternString(value) {\n return value.replace(/([+*?:{}()\\\\])/g, "\\\\$1");\n}\n__name(escapePatternString, "escapePatternString");\nfunction escapeRegexpString(value) {\n return value.replace(/([.+*?^${}()[\\]|/\\\\])/g, "\\\\$1");\n}\n__name(escapeRegexpString, "escapeRegexpString");\nfunction partsToPattern(parts, options) {\n options.delimiter ?? (options.delimiter = "/#?");\n options.prefixes ?? (options.prefixes = "./");\n options.sensitive ?? (options.sensitive = false);\n options.strict ?? (options.strict = false);\n options.end ?? (options.end = true);\n options.start ?? (options.start = true);\n options.endsWith = "";\n const kFullWildcardRegex2 = ".*";\n const segmentWildcardRegex = `[^${escapeRegexpString(options.delimiter)}]+?`;\n const regexIdentifierPart2 = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\n let result = "";\n for (let i = 0; i < parts.length; ++i) {\n const part = parts[i];\n if (part.type === 3) {\n if (part.modifier === 3) {\n result += escapePatternString(part.value);\n continue;\n }\n result += `{${escapePatternString(part.value)}}${modifierToString(part.modifier)}`;\n continue;\n }\n const customName = part.hasCustomName();\n let needsGrouping = !!part.suffix.length || !!part.prefix.length && (part.prefix.length !== 1 || !options.prefixes.includes(part.prefix));\n const lastPart = i > 0 ? parts[i - 1] : null;\n const nextPart = i < parts.length - 1 ? parts[i + 1] : null;\n if (!needsGrouping && customName && part.type === 1 && part.modifier === 3 && nextPart && !nextPart.prefix.length && !nextPart.suffix.length) {\n if (nextPart.type === 3) {\n const code = nextPart.value.length > 0 ? nextPart.value[0] : "";\n needsGrouping = regexIdentifierPart2.test(code);\n } else {\n needsGrouping = !nextPart.hasCustomName();\n }\n }\n if (!needsGrouping && !part.prefix.length && lastPart && lastPart.type === 3) {\n const code = lastPart.value[lastPart.value.length - 1];\n needsGrouping = options.prefixes.includes(code);\n }\n if (needsGrouping) {\n result += "{";\n }\n result += escapePatternString(part.prefix);\n if (customName) {\n result += `:${part.name}`;\n }\n if (part.type === 2) {\n result += `(${part.value})`;\n } else if (part.type === 1) {\n if (!customName) {\n result += `(${segmentWildcardRegex})`;\n }\n } else if (part.type === 0) {\n if (!customName && (!lastPart || lastPart.type === 3 || lastPart.modifier !== 3 || needsGrouping || part.prefix !== "")) {\n result += "*";\n } else {\n result += `(${kFullWildcardRegex2})`;\n }\n }\n if (part.type === 1 && customName && !!part.suffix.length) {\n if (regexIdentifierPart2.test(part.suffix[0])) {\n result += "\\\\";\n }\n }\n result += escapePatternString(part.suffix);\n if (needsGrouping) {\n result += "}";\n }\n if (part.modifier !== 3) {\n result += modifierToString(part.modifier);\n }\n }\n return result;\n}\n__name(partsToPattern, "partsToPattern");\nvar URLPattern = /* @__PURE__ */ __name(class {\n constructor(init = {}, baseURLOrOptions, options) {\n this.regexp = {};\n this.names = {};\n this.component_pattern = {};\n this.parts = {};\n try {\n let baseURL = void 0;\n if (typeof baseURLOrOptions === "string") {\n baseURL = baseURLOrOptions;\n } else {\n options = baseURLOrOptions;\n }\n if (typeof init === "string") {\n const parser = new Parser(init);\n parser.parse();\n init = parser.result;\n if (baseURL === void 0 && typeof init.protocol !== "string") {\n throw new TypeError(`A base URL must be provided for a relative constructor string.`);\n }\n init.baseURL = baseURL;\n } else {\n if (!init || typeof init !== "object") {\n throw new TypeError(`parameter 1 is not of type \'string\' and cannot convert to dictionary.`);\n }\n if (baseURL) {\n throw new TypeError(`parameter 1 is not of type \'string\'.`);\n }\n }\n if (typeof options === "undefined") {\n options = { ignoreCase: false };\n }\n const ignoreCaseOptions = { ignoreCase: options.ignoreCase === true };\n const defaults = {\n pathname: DEFAULT_PATTERN,\n protocol: DEFAULT_PATTERN,\n username: DEFAULT_PATTERN,\n password: DEFAULT_PATTERN,\n hostname: DEFAULT_PATTERN,\n port: DEFAULT_PATTERN,\n search: DEFAULT_PATTERN,\n hash: DEFAULT_PATTERN\n };\n this.pattern = applyInit(defaults, init, true);\n if (defaultPortForProtocol(this.pattern.protocol) === this.pattern.port) {\n this.pattern.port = "";\n }\n let component;\n for (component of COMPONENTS) {\n if (!(component in this.pattern))\n continue;\n const options2 = {};\n const pattern = this.pattern[component];\n this.names[component] = [];\n switch (component) {\n case "protocol":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = protocolEncodeCallback;\n break;\n case "username":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = usernameEncodeCallback;\n break;\n case "password":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = passwordEncodeCallback;\n break;\n case "hostname":\n Object.assign(options2, HOSTNAME_OPTIONS);\n if (treatAsIPv6Hostname(pattern)) {\n options2.encodePart = ipv6HostnameEncodeCallback;\n } else {\n options2.encodePart = hostnameEncodeCallback;\n }\n break;\n case "port":\n Object.assign(options2, DEFAULT_OPTIONS);\n options2.encodePart = portEncodeCallback;\n break;\n case "pathname":\n if (isSpecialScheme(this.regexp.protocol)) {\n Object.assign(options2, PATHNAME_OPTIONS, ignoreCaseOptions);\n options2.encodePart = standardURLPathnameEncodeCallback;\n } else {\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = pathURLPathnameEncodeCallback;\n }\n break;\n case "search":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = searchEncodeCallback;\n break;\n case "hash":\n Object.assign(options2, DEFAULT_OPTIONS, ignoreCaseOptions);\n options2.encodePart = hashEncodeCallback;\n break;\n }\n try {\n this.parts[component] = parse(pattern, options2);\n this.regexp[component] = partsToRegexp(\n this.parts[component],\n /* out */\n this.names[component],\n options2\n );\n this.component_pattern[component] = partsToPattern(this.parts[component], options2);\n } catch (err) {\n throw new TypeError(`invalid ${component} pattern \'${this.pattern[component]}\'.`);\n }\n }\n } catch (err) {\n throw new TypeError(`Failed to construct \'URLPattern\': ${err.message}`);\n }\n }\n test(input = {}, baseURL) {\n let values = {\n pathname: "",\n protocol: "",\n username: "",\n password: "",\n hostname: "",\n port: "",\n search: "",\n hash: ""\n };\n if (typeof input !== "string" && baseURL) {\n throw new TypeError(`parameter 1 is not of type \'string\'.`);\n }\n if (typeof input === "undefined") {\n return false;\n }\n try {\n if (typeof input === "object") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return false;\n }\n let component;\n for (component of COMPONENTS) {\n if (!this.regexp[component].exec(values[component])) {\n return false;\n }\n }\n return true;\n }\n exec(input = {}, baseURL) {\n let values = {\n pathname: "",\n protocol: "",\n username: "",\n password: "",\n hostname: "",\n port: "",\n search: "",\n hash: ""\n };\n if (typeof input !== "string" && baseURL) {\n throw new TypeError(`parameter 1 is not of type \'string\'.`);\n }\n if (typeof input === "undefined") {\n return;\n }\n try {\n if (typeof input === "object") {\n values = applyInit(values, input, false);\n } else {\n values = applyInit(values, extractValues(input, baseURL), false);\n }\n } catch (err) {\n return null;\n }\n let result = {};\n if (baseURL) {\n result.inputs = [input, baseURL];\n } else {\n result.inputs = [input];\n }\n let component;\n for (component of COMPONENTS) {\n let match = this.regexp[component].exec(values[component]);\n if (!match) {\n return null;\n }\n let groups = {};\n for (let [i, name] of this.names[component].entries()) {\n if (typeof name === "string" || typeof name === "number") {\n let value = match[i + 1];\n groups[name] = value;\n }\n }\n result[component] = {\n input: values[component] ?? "",\n groups\n };\n }\n return result;\n }\n static compareComponent(component, left, right) {\n const comparePart = /* @__PURE__ */ __name((left2, right2) => {\n for (let attr of ["type", "modifier", "prefix", "value", "suffix"]) {\n if (left2[attr] < right2[attr])\n return -1;\n else if (left2[attr] === right2[attr])\n continue;\n else\n return 1;\n }\n return 0;\n }, "comparePart");\n const emptyFixedPart = new Part(\n 3,\n "",\n "",\n "",\n "",\n 3\n /* kNone */\n );\n const wildcardOnlyPart = new Part(\n 0,\n "",\n "",\n "",\n "",\n 3\n /* kNone */\n );\n const comparePartList = /* @__PURE__ */ __name((left2, right2) => {\n let i = 0;\n for (; i < Math.min(left2.length, right2.length); ++i) {\n let result = comparePart(left2[i], right2[i]);\n if (result)\n return result;\n }\n if (left2.length === right2.length) {\n return 0;\n }\n return comparePart(left2[i] ?? emptyFixedPart, right2[i] ?? emptyFixedPart);\n }, "comparePartList");\n if (!left.component_pattern[component] && !right.component_pattern[component]) {\n return 0;\n }\n if (left.component_pattern[component] && !right.component_pattern[component]) {\n return comparePartList(left.parts[component], [wildcardOnlyPart]);\n }\n if (!left.component_pattern[component] && right.component_pattern[component]) {\n return comparePartList([wildcardOnlyPart], right.parts[component]);\n }\n return comparePartList(left.parts[component], right.parts[component]);\n }\n get protocol() {\n return this.component_pattern.protocol;\n }\n get username() {\n return this.component_pattern.username;\n }\n get password() {\n return this.component_pattern.password;\n }\n get hostname() {\n return this.component_pattern.hostname;\n }\n get port() {\n return this.component_pattern.port;\n }\n get pathname() {\n return this.component_pattern.pathname;\n }\n get search() {\n return this.component_pattern.search;\n }\n get hash() {\n return this.component_pattern.hash;\n }\n}, "URLPattern");\n\n// ../../node_modules/.pnpm/urlpattern-polyfill@8.0.2/node_modules/urlpattern-polyfill/index.js\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = URLPattern;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n URLPattern\n});\n'},269:(__unused_webpack_module,exports,__nccwpck_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.EdgeVM=void 0;const load_1=__nccwpck_require__(281);const vm_1=__nccwpck_require__(144);const vm_2=__nccwpck_require__(202);let unhandledRejectionHandlers;let uncaughtExceptionHandlers;class EdgeVM extends vm_2.VM{constructor(e){super({...e,extend:n=>(e===null||e===void 0?void 0:e.extend)?e.extend(addPrimitives(n)):addPrimitives(n)});Object.defineProperty(this.context,"__onUnhandledRejectionHandlers",{set:registerUnhandledRejectionHandlers,configurable:false,enumerable:false});Object.defineProperty(this,"__rejectionHandlers",{get:()=>unhandledRejectionHandlers,configurable:false,enumerable:false});Object.defineProperty(this.context,"__onErrorHandlers",{set:registerUncaughtExceptionHandlers,configurable:false,enumerable:false});Object.defineProperty(this,"__errorHandlers",{get:()=>uncaughtExceptionHandlers,configurable:false,enumerable:false});this.evaluate(getDefineEventListenersCode());this.dispatchFetch=this.evaluate(getDispatchFetchCode());for(const e of transferableConstructors){patchInstanceOf(e,this.context)}if(e===null||e===void 0?void 0:e.initialCode){this.evaluate(e.initialCode)}}}exports.EdgeVM=EdgeVM;const transferableConstructors=["Object","Array","RegExp","Uint8Array","ArrayBuffer","Error","SyntaxError","TypeError"];function patchInstanceOf(item,ctx){ctx[Symbol.for(`node:${item}`)]=eval(item);return(0,vm_1.runInContext)(`\n globalThis.${item} = new Proxy(${item}, {\n get(target, prop, receiver) {\n if (prop === Symbol.hasInstance && receiver === globalThis.${item}) {\n const nodeTarget = globalThis[Symbol.for('node:${item}')];\n if (nodeTarget) {\n return function(instance) {\n return instance instanceof target || instance instanceof nodeTarget;\n };\n } else {\n throw new Error('node target must exist')\n }\n }\n\n return Reflect.get(target, prop, receiver);\n }\n })\n `,ctx)}function registerUnhandledRejectionHandlers(e){if(!unhandledRejectionHandlers){process.on("unhandledRejection",(function invokeRejectionHandlers(e,n){unhandledRejectionHandlers.forEach((t=>t({reason:e,promise:n})))}))}unhandledRejectionHandlers=e}function registerUncaughtExceptionHandlers(e){if(!uncaughtExceptionHandlers){process.on("uncaughtException",(function invokeErrorHandlers(e){uncaughtExceptionHandlers.forEach((n=>n(e)))}))}uncaughtExceptionHandlers=e}function getDefineEventListenersCode(){return`\n Object.defineProperty(self, '__listeners', {\n configurable: false,\n enumerable: false,\n value: {},\n writable: true,\n })\n\n function __conditionallyUpdatesHandlerList(eventType) {\n if (eventType === 'unhandledrejection') {\n self.__onUnhandledRejectionHandlers = self.__listeners[eventType];\n } else if (eventType === 'error') {\n self.__onErrorHandlers = self.__listeners[eventType];\n }\n }\n\n function addEventListener(type, handler) {\n const eventType = type.toLowerCase();\n if (eventType === 'fetch' && self.__listeners.fetch) {\n throw new TypeError('You can register just one "fetch" event listener');\n }\n\n self.__listeners[eventType] = self.__listeners[eventType] || [];\n self.__listeners[eventType].push(handler);\n __conditionallyUpdatesHandlerList(eventType);\n }\n\n function removeEventListener(type, handler) {\n const eventType = type.toLowerCase();\n if (self.__listeners[eventType]) {\n self.__listeners[eventType] = self.__listeners[eventType].filter(item => {\n return item !== handler;\n });\n\n if (self.__listeners[eventType].length === 0) {\n delete self.__listeners[eventType];\n }\n }\n __conditionallyUpdatesHandlerList(eventType);\n }\n `}function getDispatchFetchCode(){return`(async function dispatchFetch(input, init) {\n const request = new Request(input, init);\n const event = new FetchEvent(request);\n if (!self.__listeners.fetch) {\n throw new Error("No fetch event listeners found");\n }\n\n const getResponse = ({ response, error }) => {\n if (error || !response || !(response instanceof Response)) {\n console.error(error ? error.toString() : 'The event listener did not respond')\n response = new Response(null, {\n statusText: 'Internal Server Error',\n status: 500\n })\n }\n\n response.waitUntil = () => Promise.all(event.awaiting);\n\n if (response.status < 300 || response.status >= 400 ) {\n response.headers.delete('content-encoding');\n response.headers.delete('transform-encoding');\n response.headers.delete('content-length');\n }\n\n return response;\n }\n\n try {\n await self.__listeners.fetch[0].call(event, event)\n } catch (error) {\n return getResponse({ error })\n }\n\n return Promise.resolve(event.response)\n .then(response => getResponse({ response }))\n .catch(error => getResponse({ error }))\n })`}function addPrimitives(e){defineProperty(e,"self",{enumerable:true,value:e});defineProperty(e,"globalThis",{value:e});defineProperty(e,"Symbol",{value:Symbol});defineProperty(e,"clearInterval",{value:clearInterval});defineProperty(e,"clearTimeout",{value:clearTimeout});defineProperty(e,"setInterval",{value:setInterval});defineProperty(e,"setTimeout",{value:setTimeout});defineProperty(e,"queueMicrotask",{value:queueMicrotask});defineProperty(e,"EdgeRuntime",{value:"edge-runtime"});const n=getTransferablePrimitivesFromContext(e);defineProperties(e,{exports:(0,load_1.load)({...n,WeakRef:(0,vm_1.runInContext)(`WeakRef`,e)}),enumerable:["crypto"],nonenumerable:["Crypto","CryptoKey","SubtleCrypto","fetch","File","FormData","Headers","Request","Response","WebSocket","structuredClone","Blob","URL","URLSearchParams","URLPattern","AbortController","AbortSignal","DOMException","ReadableStream","ReadableStreamBYOBReader","ReadableStreamDefaultReader","TextDecoderStream","TextEncoderStream","TransformStream","WritableStream","WritableStreamDefaultWriter","atob","btoa","TextEncoder","TextDecoder","Event","EventTarget","FetchEvent","PromiseRejectionEvent","console"]});return e}function defineProperty(e,n,t){var r,A,o;Object.defineProperty(e,n,{configurable:(r=t.configurable)!==null&&r!==void 0?r:false,enumerable:(A=t.enumerable)!==null&&A!==void 0?A:false,value:t.value,writable:(o=t.writable)!==null&&o!==void 0?o:true})}function defineProperties(e,n){var t,r;for(const r of(t=n.enumerable)!==null&&t!==void 0?t:[]){if(!n.exports[r]){throw new Error(`Attempt to export a nullable value for "${r}"`)}defineProperty(e,r,{enumerable:true,value:n.exports[r]})}for(const t of(r=n.nonenumerable)!==null&&r!==void 0?r:[]){if(!n.exports[t]){throw new Error(`Attempt to export a nullable value for "${t}"`)}defineProperty(e,t,{value:n.exports[t]})}}function getTransferablePrimitivesFromContext(e){const n=transferableConstructors.join(",");const t=`({${n}})`;return(0,vm_1.runInContext)(t,e)}},757:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.VM=n.EdgeVM=void 0;var r=t(269);Object.defineProperty(n,"EdgeVM",{enumerable:true,get:function(){return r.EdgeVM}});var A=t(202);Object.defineProperty(n,"VM",{enumerable:true,get:function(){return A.VM}})},202:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.VM=void 0;const r=t(144);class VM{constructor(e={}){var n,t,A;const o=(0,r.createContext)({},{name:"Edge Runtime",codeGeneration:(n=e.codeGeneration)!==null&&n!==void 0?n:{strings:false,wasm:true}});this.context=(A=(t=e.extend)===null||t===void 0?void 0:t.call(e,o))!==null&&A!==void 0?A:o}evaluate(e){return(0,r.runInContext)(e,this.context)}}n.VM=VM},456:function(e,n,t){"use strict";var r=this&&this.__awaiter||function(e,n,t,r){function adopt(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,A){function fulfilled(e){try{step(r.next(e))}catch(e){A(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){A(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,n||[])).next())}))};Object.defineProperty(n,"__esModule",{value:true});n.listen=void 0;const A=t(685);const o=t(687);const s=t(17);const a=t(361);const getProtocol=e=>{if(typeof e.protocol==="string")return e.protocol;if(e instanceof A.Server)return"http";if(e instanceof o.Server)return"https"};function listen(e,...n){return r(this,void 0,void 0,(function*(){e.listen(...n,(()=>{}));yield(0,a.once)(e,"listening");const t=e.address();if(!t){throw new Error("Server not listening")}let r;let A=getProtocol(e);if(typeof t==="string"){r=encodeURIComponent((0,s.resolve)(t));if(A){A+="+unix"}else{A="unix"}}else{const{address:e,port:n,family:o}=t;r=o==="IPv6"?`[${e}]`:e;r+=`:${n}`;if(!A){A="tcp"}}return new URL(`${A}://${r}`)}))}n.listen=listen;n["default"]=listen},162:e=>{"use strict";e.exports=e=>{const n=e[0]*1e9+e[1];const t=n/1e6;const r=n/1e9;return{seconds:r,milliseconds:t,nanoseconds:n}}},709:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.EdgeRuntime=void 0;var r=t(757);Object.defineProperty(n,"EdgeRuntime",{enumerable:true,get:function(){return r.EdgeVM}})},906:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.consumeUint8ArrayReadableStream=n.getClonableBodyStream=void 0;const r=t(781);function getClonableBodyStream(e,n,t){let r=null;return{finalize(){if(r){replaceRequestBody(e,bodyStreamToNodeStream(r))}},cloneBodyStream(){const A=r!==null&&r!==void 0?r:requestToBodyStream(e,n,t);const[o,s]=A.tee();r=o;return s}}}n.getClonableBodyStream=getClonableBodyStream;function requestToBodyStream(e,n,t){const r=new t({start(t){e.on("data",(e=>t.enqueue(new n([...new Uint8Array(e)]))));e.on("end",(()=>t.terminate()));e.on("error",(e=>t.error(e)))}});return r.readable}function bodyStreamToNodeStream(e){const n=e.getReader();return r.Readable.from(async function*(){while(true){const{done:e,value:t}=await n.read();if(e){return}yield t}}())}function replaceRequestBody(e,n){for(const t in n){let r=n[t];if(typeof r==="function"){r=r.bind(n)}e[t]=r}return e}async function*consumeUint8ArrayReadableStream(e){var n;const t=e===null||e===void 0?void 0:e.getReader();if(t){while(true){const{done:e,value:r}=await t.read();if(e){return}if(((n=r===null||r===void 0?void 0:r.constructor)===null||n===void 0?void 0:n.name)!=="Uint8Array"){throw new TypeError("This ReadableStream did not return bytes.")}yield r}}}n.consumeUint8ArrayReadableStream=consumeUint8ArrayReadableStream},263:function(e,n,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:true});n.createHandler=void 0;const A=t(906);const o=t(906);const s=r(t(606));const a=r(t(943));const i=t(685);function createHandler(e){const n=new Set;return{handler:async(t,r)=>{var l,c;try{const u=(0,a.default)();const g=t.method!=="GET"&&t.method!=="HEAD"?(0,o.getClonableBodyStream)(t,e.runtime.evaluate("Uint8Array"),e.runtime.context.TransformStream):undefined;const d=await e.runtime.dispatchFetch(String(getURL(t)),{headers:toRequestInitHeaders(t),method:t.method,body:g===null||g===void 0?void 0:g.cloneBodyStream()});const h=d.waitUntil();n.add(h);h.finally((()=>n.delete(h)));r.statusCode=d.status;r.statusMessage=d.statusText;for(const[e,n]of Object.entries(toNodeHeaders(d.headers))){if(n!==undefined){r.setHeader(e,n)}}if(d.body){for await(const e of(0,A.consumeUint8ArrayReadableStream)(d.body)){r.write(e)}}const p=`${t.socket.remoteAddress} ${t.method} ${t.url}`;const f=`${(l=(0,s.default)(u()).match(/[a-zA-Z]+|[0-9]+/g))===null||l===void 0?void 0:l.join(" ")}`;const E=`${r.statusCode} ${i.STATUS_CODES[r.statusCode]}`;(c=e.logger)===null||c===void 0?void 0:c.debug(`${p} → ${E} in ${f}`);r.end()}finally{if(!r.writableEnded){r.end()}}},waitUntil:()=>Promise.all(n)}}n.createHandler=createHandler;function getURL(e){var n;const t=((n=e.socket)===null||n===void 0?void 0:n.encrypted)?"https":"http";return new URL(String(e.url),`${t}://${String(e.headers.host)}`)}function toRequestInitHeaders(e){return Object.keys(e.headers).map((n=>{const t=e.headers[n];return[n,Array.isArray(t)?t.join(", "):t!==null&&t!==void 0?t:""]}))}function toNodeHeaders(e){const n={};if(e){for(const[t,r]of e.entries()){n[t]=t.toLowerCase()==="set-cookie"?e.getAll("set-cookie"):r}}return n}},295:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.runServer=n.createHandler=n.consumeUint8ArrayReadableStream=void 0;var r=t(906);Object.defineProperty(n,"consumeUint8ArrayReadableStream",{enumerable:true,get:function(){return r.consumeUint8ArrayReadableStream}});var A=t(263);Object.defineProperty(n,"createHandler",{enumerable:true,get:function(){return A.createHandler}});var o=t(771);Object.defineProperty(n,"runServer",{enumerable:true,get:function(){return o.runServer}})},771:function(e,n,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:true});n.runServer=void 0;const A=t(263);const o=r(t(456));const s=r(t(685));async function runServer(e){if(e.port===undefined)e.port=0;const{handler:n,waitUntil:t}=(0,A.createHandler)(e);const r=s.default.createServer(n);const a=await(0,o.default)(r,e);return{url:String(a),close:async()=>{await t();await new Promise(((e,n)=>r.close((t=>{if(t)n(t);e()}))))},waitUntil:t}}n.runServer=runServer},523:e=>{"use strict";e.exports=e=>{if(typeof e!=="number"){throw new TypeError("Expected a number")}const n=e>0?Math.floor:Math.ceil;return{days:n(e/864e5),hours:n(e/36e5)%24,minutes:n(e/6e4)%60,seconds:n(e/1e3)%60,milliseconds:n(e)%1e3,microseconds:n(e*1e3)%1e3,nanoseconds:n(e*1e6)%1e3}}},606:(e,n,t)=>{"use strict";const r=t(523);const pluralize=(e,n)=>n===1?e:`${e}s`;const A=1e-7;e.exports=(e,n={})=>{if(!Number.isFinite(e)){throw new TypeError("Expected a finite number")}if(n.colonNotation){n.compact=false;n.formatSubMilliseconds=false;n.separateMilliseconds=false;n.verbose=false}if(n.compact){n.secondsDecimalDigits=0;n.millisecondsDecimalDigits=0}const t=[];const floorDecimals=(e,n)=>{const t=Math.floor(e*10**n+A);const r=Math.round(t)/10**n;return r.toFixed(n)};const add=(e,r,A,o)=>{if((t.length===0||!n.colonNotation)&&e===0&&!(n.colonNotation&&A==="m")){return}o=(o||e||"0").toString();let s;let a;if(n.colonNotation){s=t.length>0?":":"";a="";const e=o.includes(".")?o.split(".")[0].length:o.length;const n=t.length>0?2:1;o="0".repeat(Math.max(0,n-e))+o}else{s="";a=n.verbose?" "+pluralize(r,e):A}t.push(s+o+a)};const o=r(e);add(Math.trunc(o.days/365),"year","y");add(o.days%365,"day","d");add(o.hours,"hour","h");add(o.minutes,"minute","m");if(n.separateMilliseconds||n.formatSubMilliseconds||!n.colonNotation&&e<1e3){add(o.seconds,"second","s");if(n.formatSubMilliseconds){add(o.milliseconds,"millisecond","ms");add(o.microseconds,"microsecond","µs");add(o.nanoseconds,"nanosecond","ns")}else{const e=o.milliseconds+o.microseconds/1e3+o.nanoseconds/1e6;const t=typeof n.millisecondsDecimalDigits==="number"?n.millisecondsDecimalDigits:0;const r=e>=1?Math.round(e):Math.ceil(e);const A=t?e.toFixed(t):r;add(Number.parseFloat(A,10),"millisecond","ms",A)}}else{const t=e/1e3%60;const r=typeof n.secondsDecimalDigits==="number"?n.secondsDecimalDigits:1;const A=floorDecimals(t,r);const o=n.keepDecimalsOnWholeSeconds?A:A.replace(/\.0+$/,"");add(Number.parseFloat(o,10),"second","s",o)}if(t.length===0){return"0"+(n.verbose?" milliseconds":"ms")}if(n.compact){return t[0]}if(typeof n.unitCount==="number"){const e=n.colonNotation?"":" ";return t.slice(0,Math.max(n.unitCount,1)).join(e)}return n.colonNotation?t.join(""):t.join(" ")}},943:(e,n,t)=>{"use strict";const r=t(162);e.exports=()=>{const e=process.hrtime();const end=n=>r(process.hrtime(e))[n];const returnValue=()=>end("milliseconds");returnValue.rounded=()=>Math.round(end("milliseconds"));returnValue.seconds=()=>end("seconds");returnValue.nanoseconds=()=>end("nanoseconds");return returnValue}},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},188:e=>{"use strict";e.exports=require("module")},17:e=>{"use strict";e.exports=require("path")},781:e=>{"use strict";e.exports=require("stream")},144:e=>{"use strict";e.exports=require("vm")}};var __webpack_module_cache__={};function __nccwpck_require__(e){var n=__webpack_module_cache__[e];if(n!==undefined){return n.exports}var t=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e].call(t.exports,t,t.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return t.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__={};(()=>{"use strict";var e=__webpack_exports__;Object.defineProperty(e,"__esModule",{value:true});e.EdgeRuntime=e.runServer=e.createHandler=e.consumeUint8ArrayReadableStream=void 0;var n=__nccwpck_require__(295);Object.defineProperty(e,"consumeUint8ArrayReadableStream",{enumerable:true,get:function(){return n.consumeUint8ArrayReadableStream}});Object.defineProperty(e,"createHandler",{enumerable:true,get:function(){return n.createHandler}});Object.defineProperty(e,"runServer",{enumerable:true,get:function(){return n.runServer}});var t=__nccwpck_require__(709);Object.defineProperty(e,"EdgeRuntime",{enumerable:true,get:function(){return t.EdgeRuntime}})})();module.exports=__webpack_exports__})(); \ No newline at end of file +(()=>{var __webpack_modules__={779:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/abort-controller.js\nvar abort_controller_exports = {};\n__export(abort_controller_exports, {\n AbortController: () => AbortController,\n AbortSignal: () => AbortSignal,\n DOMException: () => DOMException\n});\nmodule.exports = __toCommonJS(abort_controller_exports);\nvar kSignal = Symbol("kSignal");\nvar kAborted = Symbol("kAborted");\nvar kReason = Symbol("kReason");\nvar kName = Symbol("kName");\nvar kOnabort = Symbol("kOnabort");\nvar DOMException = class extends Error {\n constructor(message, name) {\n super(message);\n this[kName] = name;\n }\n get name() {\n return this[kName];\n }\n};\n__name(DOMException, "DOMException");\nfunction createAbortSignal() {\n const signal = new EventTarget();\n Object.setPrototypeOf(signal, AbortSignal.prototype);\n signal[kAborted] = false;\n signal[kReason] = void 0;\n signal[kOnabort] = void 0;\n return signal;\n}\n__name(createAbortSignal, "createAbortSignal");\nfunction abortSignalAbort(signal, reason) {\n if (typeof reason === "undefined") {\n reason = new DOMException("The operation was aborted.", "AbortError");\n }\n if (signal.aborted) {\n return;\n }\n signal[kReason] = reason;\n signal[kAborted] = true;\n signal.dispatchEvent(new Event("abort"));\n}\n__name(abortSignalAbort, "abortSignalAbort");\nvar AbortController = class {\n constructor() {\n this[kSignal] = createAbortSignal();\n }\n get signal() {\n return this[kSignal];\n }\n abort(reason) {\n abortSignalAbort(this.signal, reason);\n }\n};\n__name(AbortController, "AbortController");\nvar AbortSignal = class extends EventTarget {\n constructor() {\n throw new TypeError("Illegal constructor.");\n }\n get aborted() {\n return this[kAborted];\n }\n get reason() {\n return this[kReason];\n }\n get onabort() {\n return this[kOnabort];\n }\n set onabort(value) {\n if (this[kOnabort]) {\n this.removeEventListener("abort", this[kOnabort]);\n }\n if (value) {\n this[kOnabort] = value;\n this.addEventListener("abort", this[kOnabort]);\n }\n }\n throwIfAborted() {\n if (this[kAborted]) {\n throw this[kReason];\n }\n }\n static abort(reason) {\n const signal = createAbortSignal();\n abortSignalAbort(signal, reason);\n return signal;\n }\n static timeout(milliseconds) {\n const signal = createAbortSignal();\n setTimeout(() => {\n abortSignalAbort(\n signal,\n new DOMException("The operation timed out.", "TimeoutError")\n );\n }, milliseconds);\n return signal;\n }\n};\n__name(AbortSignal, "AbortSignal");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n'},980:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar init_define_process = __esm({\n ""() {\n }\n});\n\n// ../../node_modules/.pnpm/blob-polyfill@7.0.20220408/node_modules/blob-polyfill/Blob.js\nvar require_Blob = __commonJS({\n "../../node_modules/.pnpm/blob-polyfill@7.0.20220408/node_modules/blob-polyfill/Blob.js"(exports) {\n init_define_process();\n (function(global2) {\n (function(factory) {\n if (typeof define === "function" && define.amd) {\n define(["exports"], factory);\n } else if (typeof exports === "object" && typeof exports.nodeName !== "string") {\n factory(exports);\n } else {\n factory(global2);\n }\n })(function(exports2) {\n "use strict";\n var BlobBuilder = global2.BlobBuilder || global2.WebKitBlobBuilder || global2.MSBlobBuilder || global2.MozBlobBuilder;\n var URL = global2.URL || global2.webkitURL || function(href, a) {\n a = document.createElement("a");\n a.href = href;\n return a;\n };\n var origBlob = global2.Blob;\n var createObjectURL = URL.createObjectURL;\n var revokeObjectURL = URL.revokeObjectURL;\n var strTag = global2.Symbol && global2.Symbol.toStringTag;\n var blobSupported = false;\n var blobSupportsArrayBufferView = false;\n var blobBuilderSupported = BlobBuilder && BlobBuilder.prototype.append && BlobBuilder.prototype.getBlob;\n try {\n blobSupported = new Blob(["\\xE4"]).size === 2;\n blobSupportsArrayBufferView = new Blob([new Uint8Array([1, 2])]).size === 2;\n } catch (e) {\n }\n function mapArrayBufferViews(ary) {\n return ary.map(function(chunk) {\n if (chunk.buffer instanceof ArrayBuffer) {\n var buf = chunk.buffer;\n if (chunk.byteLength !== buf.byteLength) {\n var copy = new Uint8Array(chunk.byteLength);\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\n buf = copy.buffer;\n }\n return buf;\n }\n return chunk;\n });\n }\n __name(mapArrayBufferViews, "mapArrayBufferViews");\n function BlobBuilderConstructor(ary, options) {\n options = options || {};\n var bb = new BlobBuilder();\n mapArrayBufferViews(ary).forEach(function(part) {\n bb.append(part);\n });\n return options.type ? bb.getBlob(options.type) : bb.getBlob();\n }\n __name(BlobBuilderConstructor, "BlobBuilderConstructor");\n function BlobConstructor(ary, options) {\n return new origBlob(mapArrayBufferViews(ary), options || {});\n }\n __name(BlobConstructor, "BlobConstructor");\n if (global2.Blob) {\n BlobBuilderConstructor.prototype = Blob.prototype;\n BlobConstructor.prototype = Blob.prototype;\n }\n function stringEncode(string) {\n var pos = 0;\n var len = string.length;\n var Arr = global2.Uint8Array || Array;\n var at = 0;\n var tlen = Math.max(32, len + (len >> 1) + 7);\n var target = new Arr(tlen >> 3 << 3);\n while (pos < len) {\n var value = string.charCodeAt(pos++);\n if (value >= 55296 && value <= 56319) {\n if (pos < len) {\n var extra = string.charCodeAt(pos);\n if ((extra & 64512) === 56320) {\n ++pos;\n value = ((value & 1023) << 10) + (extra & 1023) + 65536;\n }\n }\n if (value >= 55296 && value <= 56319) {\n continue;\n }\n }\n if (at + 4 > target.length) {\n tlen += 8;\n tlen *= 1 + pos / string.length * 2;\n tlen = tlen >> 3 << 3;\n var update = new Uint8Array(tlen);\n update.set(target);\n target = update;\n }\n if ((value & 4294967168) === 0) {\n target[at++] = value;\n continue;\n } else if ((value & 4294965248) === 0) {\n target[at++] = value >> 6 & 31 | 192;\n } else if ((value & 4294901760) === 0) {\n target[at++] = value >> 12 & 15 | 224;\n target[at++] = value >> 6 & 63 | 128;\n } else if ((value & 4292870144) === 0) {\n target[at++] = value >> 18 & 7 | 240;\n target[at++] = value >> 12 & 63 | 128;\n target[at++] = value >> 6 & 63 | 128;\n } else {\n continue;\n }\n target[at++] = value & 63 | 128;\n }\n return target.slice(0, at);\n }\n __name(stringEncode, "stringEncode");\n function stringDecode(buf) {\n var end = buf.length;\n var res = [];\n var i = 0;\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 128) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 192) === 128) {\n tempCodePoint = (firstByte & 31) << 6 | secondByte & 63;\n if (tempCodePoint > 127) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 12 | (secondByte & 63) << 6 | thirdByte & 63;\n if (tempCodePoint > 2047 && (tempCodePoint < 55296 || tempCodePoint > 57343)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 192) === 128 && (thirdByte & 192) === 128 && (fourthByte & 192) === 128) {\n tempCodePoint = (firstByte & 15) << 18 | (secondByte & 63) << 12 | (thirdByte & 63) << 6 | fourthByte & 63;\n if (tempCodePoint > 65535 && tempCodePoint < 1114112) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n if (codePoint === null) {\n codePoint = 65533;\n bytesPerSequence = 1;\n } else if (codePoint > 65535) {\n codePoint -= 65536;\n res.push(codePoint >>> 10 & 1023 | 55296);\n codePoint = 56320 | codePoint & 1023;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n var len = res.length;\n var str = "";\n var j = 0;\n while (j < len) {\n str += String.fromCharCode.apply(String, res.slice(j, j += 4096));\n }\n return str;\n }\n __name(stringDecode, "stringDecode");\n var textEncode = typeof TextEncoder === "function" ? TextEncoder.prototype.encode.bind(new TextEncoder()) : stringEncode;\n var textDecode = typeof TextDecoder === "function" ? TextDecoder.prototype.decode.bind(new TextDecoder()) : stringDecode;\n function FakeBlobBuilder() {\n function bufferClone(buf) {\n var view = new Array(buf.byteLength);\n var array = new Uint8Array(buf);\n var i = view.length;\n while (i--) {\n view[i] = array[i];\n }\n return view;\n }\n __name(bufferClone, "bufferClone");\n function array2base64(input) {\n var byteToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n var output = [];\n for (var i = 0; i < input.length; i += 3) {\n var byte1 = input[i];\n var haveByte2 = i + 1 < input.length;\n var byte2 = haveByte2 ? input[i + 1] : 0;\n var haveByte3 = i + 2 < input.length;\n var byte3 = haveByte3 ? input[i + 2] : 0;\n var outByte1 = byte1 >> 2;\n var outByte2 = (byte1 & 3) << 4 | byte2 >> 4;\n var outByte3 = (byte2 & 15) << 2 | byte3 >> 6;\n var outByte4 = byte3 & 63;\n if (!haveByte3) {\n outByte4 = 64;\n if (!haveByte2) {\n outByte3 = 64;\n }\n }\n output.push(\n byteToCharMap[outByte1],\n byteToCharMap[outByte2],\n byteToCharMap[outByte3],\n byteToCharMap[outByte4]\n );\n }\n return output.join("");\n }\n __name(array2base64, "array2base64");\n var create = Object.create || function(a) {\n function c() {\n }\n __name(c, "c");\n c.prototype = a;\n return new c();\n };\n function getObjectTypeName(o) {\n return Object.prototype.toString.call(o).slice(8, -1);\n }\n __name(getObjectTypeName, "getObjectTypeName");\n function isPrototypeOf(c, o) {\n return typeof c === "object" && Object.prototype.isPrototypeOf.call(c.prototype, o);\n }\n __name(isPrototypeOf, "isPrototypeOf");\n function isDataView(o) {\n return getObjectTypeName(o) === "DataView" || isPrototypeOf(global2.DataView, o);\n }\n __name(isDataView, "isDataView");\n var arrayBufferClassNames = [\n "Int8Array",\n "Uint8Array",\n "Uint8ClampedArray",\n "Int16Array",\n "Uint16Array",\n "Int32Array",\n "Uint32Array",\n "Float32Array",\n "Float64Array",\n "ArrayBuffer"\n ];\n function includes(a, v) {\n return a.indexOf(v) !== -1;\n }\n __name(includes, "includes");\n function isArrayBuffer(o) {\n return includes(arrayBufferClassNames, getObjectTypeName(o)) || isPrototypeOf(global2.ArrayBuffer, o);\n }\n __name(isArrayBuffer, "isArrayBuffer");\n function concatTypedarrays(chunks) {\n var size = 0;\n var j = chunks.length;\n while (j--) {\n size += chunks[j].length;\n }\n var b = new Uint8Array(size);\n var offset = 0;\n for (var i = 0; i < chunks.length; i++) {\n var chunk = chunks[i];\n b.set(chunk, offset);\n offset += chunk.byteLength || chunk.length;\n }\n return b;\n }\n __name(concatTypedarrays, "concatTypedarrays");\n function Blob3(chunks, opts) {\n chunks = chunks ? chunks.slice() : [];\n opts = opts == null ? {} : opts;\n for (var i = 0, len = chunks.length; i < len; i++) {\n var chunk = chunks[i];\n if (chunk instanceof Blob3) {\n chunks[i] = chunk._buffer;\n } else if (typeof chunk === "string") {\n chunks[i] = textEncode(chunk);\n } else if (isDataView(chunk)) {\n chunks[i] = bufferClone(chunk.buffer);\n } else if (isArrayBuffer(chunk)) {\n chunks[i] = bufferClone(chunk);\n } else {\n chunks[i] = textEncode(String(chunk));\n }\n }\n this._buffer = global2.Uint8Array ? concatTypedarrays(chunks) : [].concat.apply([], chunks);\n this.size = this._buffer.length;\n this.type = opts.type || "";\n if (/[^\\u0020-\\u007E]/.test(this.type)) {\n this.type = "";\n } else {\n this.type = this.type.toLowerCase();\n }\n }\n __name(Blob3, "Blob");\n Blob3.prototype.arrayBuffer = function() {\n return Promise.resolve(this._buffer.buffer || this._buffer);\n };\n Blob3.prototype.text = function() {\n return Promise.resolve(textDecode(this._buffer));\n };\n Blob3.prototype.slice = function(start, end, type) {\n var slice = this._buffer.slice(start || 0, end || this._buffer.length);\n return new Blob3([slice], { type });\n };\n Blob3.prototype.toString = function() {\n return "[object Blob]";\n };\n function File2(chunks, name, opts) {\n opts = opts || {};\n var a = Blob3.call(this, chunks, opts) || this;\n a.name = name.replace(/\\//g, ":");\n a.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : /* @__PURE__ */ new Date();\n a.lastModified = +a.lastModifiedDate;\n return a;\n }\n __name(File2, "File");\n File2.prototype = create(Blob3.prototype);\n File2.prototype.constructor = File2;\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(File2, Blob3);\n } else {\n try {\n File2.__proto__ = Blob3;\n } catch (e) {\n }\n }\n File2.prototype.toString = function() {\n return "[object File]";\n };\n function FileReader2() {\n if (!(this instanceof FileReader2)) {\n throw new TypeError("Failed to construct \'FileReader\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.");\n }\n var delegate = document.createDocumentFragment();\n this.addEventListener = delegate.addEventListener;\n this.dispatchEvent = function(evt) {\n var local = this["on" + evt.type];\n if (typeof local === "function")\n local(evt);\n delegate.dispatchEvent(evt);\n };\n this.removeEventListener = delegate.removeEventListener;\n }\n __name(FileReader2, "FileReader");\n function _read(fr, blob2, kind) {\n if (!(blob2 instanceof Blob3)) {\n throw new TypeError("Failed to execute \'" + kind + "\' on \'FileReader\': parameter 1 is not of type \'Blob\'.");\n }\n fr.result = "";\n setTimeout(function() {\n this.readyState = FileReader2.LOADING;\n fr.dispatchEvent(new Event("load"));\n fr.dispatchEvent(new Event("loadend"));\n });\n }\n __name(_read, "_read");\n FileReader2.EMPTY = 0;\n FileReader2.LOADING = 1;\n FileReader2.DONE = 2;\n FileReader2.prototype.error = null;\n FileReader2.prototype.onabort = null;\n FileReader2.prototype.onerror = null;\n FileReader2.prototype.onload = null;\n FileReader2.prototype.onloadend = null;\n FileReader2.prototype.onloadstart = null;\n FileReader2.prototype.onprogress = null;\n FileReader2.prototype.readAsDataURL = function(blob2) {\n _read(this, blob2, "readAsDataURL");\n this.result = "data:" + blob2.type + ";base64," + array2base64(blob2._buffer);\n };\n FileReader2.prototype.readAsText = function(blob2) {\n _read(this, blob2, "readAsText");\n this.result = textDecode(blob2._buffer);\n };\n FileReader2.prototype.readAsArrayBuffer = function(blob2) {\n _read(this, blob2, "readAsText");\n this.result = (blob2._buffer.buffer || blob2._buffer).slice();\n };\n FileReader2.prototype.abort = function() {\n };\n URL.createObjectURL = function(blob2) {\n return blob2 instanceof Blob3 ? "data:" + blob2.type + ";base64," + array2base64(blob2._buffer) : createObjectURL.call(URL, blob2);\n };\n URL.revokeObjectURL = function(url) {\n revokeObjectURL && revokeObjectURL.call(URL, url);\n };\n var _send = global2.XMLHttpRequest && global2.XMLHttpRequest.prototype.send;\n if (_send) {\n XMLHttpRequest.prototype.send = function(data) {\n if (data instanceof Blob3) {\n this.setRequestHeader("Content-Type", data.type);\n _send.call(this, textDecode(data._buffer));\n } else {\n _send.call(this, data);\n }\n };\n }\n exports2.Blob = Blob3;\n exports2.File = File2;\n exports2.FileReader = FileReader2;\n exports2.URL = URL;\n }\n __name(FakeBlobBuilder, "FakeBlobBuilder");\n function fixFileAndXHR() {\n var isIE = !!global2.ActiveXObject || "-ms-scroll-limit" in document.documentElement.style && "-ms-ime-align" in document.documentElement.style;\n var _send = global2.XMLHttpRequest && global2.XMLHttpRequest.prototype.send;\n if (isIE && _send) {\n XMLHttpRequest.prototype.send = function(data) {\n if (data instanceof Blob) {\n this.setRequestHeader("Content-Type", data.type);\n _send.call(this, data);\n } else {\n _send.call(this, data);\n }\n };\n }\n try {\n new File([], "");\n exports2.File = global2.File;\n exports2.FileReader = global2.FileReader;\n } catch (e) {\n try {\n exports2.File = new Function(\n \'class File extends Blob {constructor(chunks, name, opts) {opts = opts || {};super(chunks, opts || {});this.name = name.replace(/\\\\//g, ":");this.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : new Date();this.lastModified = +this.lastModifiedDate;}};return new File([], ""), File\'\n )();\n } catch (e2) {\n exports2.File = function(b, d, c) {\n var blob2 = new Blob(b, c);\n var t = c && void 0 !== c.lastModified ? new Date(c.lastModified) : /* @__PURE__ */ new Date();\n blob2.name = d.replace(/\\//g, ":");\n blob2.lastModifiedDate = t;\n blob2.lastModified = +t;\n blob2.toString = function() {\n return "[object File]";\n };\n if (strTag) {\n blob2[strTag] = "File";\n }\n return blob2;\n };\n }\n }\n }\n __name(fixFileAndXHR, "fixFileAndXHR");\n if (blobSupported) {\n fixFileAndXHR();\n exports2.Blob = blobSupportsArrayBufferView ? global2.Blob : BlobConstructor;\n } else if (blobBuilderSupported) {\n fixFileAndXHR();\n exports2.Blob = BlobBuilderConstructor;\n } else {\n FakeBlobBuilder();\n }\n if (strTag) {\n if (!exports2.File.prototype[strTag])\n exports2.File.prototype[strTag] = "File";\n if (!exports2.Blob.prototype[strTag])\n exports2.Blob.prototype[strTag] = "Blob";\n if (!exports2.FileReader.prototype[strTag])\n exports2.FileReader.prototype[strTag] = "FileReader";\n }\n var blob = exports2.Blob.prototype;\n var stream;\n try {\n new ReadableStream({ type: "bytes" });\n stream = /* @__PURE__ */ __name(function stream2() {\n var position = 0;\n var blob2 = this;\n return new ReadableStream({\n type: "bytes",\n autoAllocateChunkSize: 524288,\n pull: function(controller) {\n var v = controller.byobRequest.view;\n var chunk = blob2.slice(position, position + v.byteLength);\n return chunk.arrayBuffer().then(function(buffer) {\n var uint8array = new Uint8Array(buffer);\n var bytesRead = uint8array.byteLength;\n position += bytesRead;\n v.set(uint8array);\n controller.byobRequest.respond(bytesRead);\n if (position >= blob2.size)\n controller.close();\n });\n }\n });\n }, "stream");\n } catch (e) {\n try {\n new ReadableStream({});\n stream = /* @__PURE__ */ __name(function stream2(blob2) {\n var position = 0;\n return new ReadableStream({\n pull: function(controller) {\n var chunk = blob2.slice(position, position + 524288);\n return chunk.arrayBuffer().then(function(buffer) {\n position += buffer.byteLength;\n var uint8array = new Uint8Array(buffer);\n controller.enqueue(uint8array);\n if (position == blob2.size)\n controller.close();\n });\n }\n });\n }, "stream");\n } catch (e2) {\n try {\n new Response("").body.getReader().read();\n stream = /* @__PURE__ */ __name(function stream2() {\n return new Response(this).body;\n }, "stream");\n } catch (e3) {\n stream = /* @__PURE__ */ __name(function stream2() {\n throw new Error("Include https://github.com/MattiasBuelens/web-streams-polyfill");\n }, "stream");\n }\n }\n }\n function promisify(obj) {\n return new Promise(function(resolve, reject) {\n obj.onload = obj.onerror = function(evt) {\n obj.onload = obj.onerror = null;\n evt.type === "load" ? resolve(obj.result || obj) : reject(new Error("Failed to read the blob/file"));\n };\n });\n }\n __name(promisify, "promisify");\n if (!blob.arrayBuffer) {\n blob.arrayBuffer = /* @__PURE__ */ __name(function arrayBuffer() {\n var fr = new FileReader();\n fr.readAsArrayBuffer(this);\n return promisify(fr);\n }, "arrayBuffer");\n }\n if (!blob.text) {\n blob.text = /* @__PURE__ */ __name(function text() {\n var fr = new FileReader();\n fr.readAsText(this);\n return promisify(fr);\n }, "text");\n }\n if (!blob.stream) {\n blob.stream = stream;\n }\n });\n })(\n typeof self !== "undefined" && self || typeof window !== "undefined" && window || typeof global !== "undefined" && global || exports\n );\n }\n});\n\n// src/primitives/blob.js\nvar blob_exports = {};\n__export(blob_exports, {\n Blob: () => import_blob_polyfill.Blob\n});\nmodule.exports = __toCommonJS(blob_exports);\ninit_define_process();\nvar import_blob_polyfill = __toESM(require_Blob());\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Blob\n});\n'},401:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar init_define_process = __esm({\n ""() {\n }\n});\n\n// ../format/dist/index.js\nvar require_dist = __commonJS({\n "../format/dist/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = /* @__PURE__ */ __name((target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n }, "__export");\n var __copyProps2 = /* @__PURE__ */ __name((to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n }, "__copyProps");\n var __toCommonJS2 = /* @__PURE__ */ __name((mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod), "__toCommonJS");\n var src_exports = {};\n __export2(src_exports, {\n createFormat: () => createFormat2\n });\n module2.exports = __toCommonJS2(src_exports);\n var ReflectGetOwnPropertyDescriptor = Reflect.getOwnPropertyDescriptor;\n function GetOwnGetter(target, key) {\n const descriptor = ReflectGetOwnPropertyDescriptor(target, key);\n return descriptor ? descriptor.get : void 0;\n }\n __name(GetOwnGetter, "GetOwnGetter");\n var ReflectGetPrototypeOf = Reflect.getPrototypeOf;\n var TypedArray = ReflectGetPrototypeOf(Uint8Array);\n var ArrayPrototypeFilter = Array.prototype.filter;\n var ArrayPrototypePush = Array.prototype.push;\n var DatePrototypeGetTime = Date.prototype.getTime;\n var DatePrototypeToISOString = Date.prototype.toISOString;\n var ObjectGetOwnPropertyDescriptors = Object.getOwnPropertyDescriptors;\n var ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\n var ObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;\n var ObjectKeys = Object.keys;\n var ObjectPrototypePropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n var ObjectPrototypeToString = Object.prototype.toString;\n var MapPrototypeGetSize = GetOwnGetter(Map.prototype, "size");\n var SetPrototypeGetSize = GetOwnGetter(Set.prototype, "size");\n var StringPrototypeIncludes = String.prototype.includes;\n var SymbolIterator = Symbol.iterator;\n var SymbolPrototypeToString = Symbol.prototype.toString;\n var TypedArrayPrototypeGetLength = GetOwnGetter(\n TypedArray.prototype,\n "length"\n );\n var typedArrayStrings = /* @__PURE__ */ new Set([\n "[object BigInt64Array]",\n "[object BigUint64Array]",\n "[object Float32Array]",\n "[object Float64Array]",\n "[object Int8Array]",\n "[object Int16Array]",\n "[object Int32Array]",\n "[object Uint8Array]",\n "[object Uint8ClampedArray]",\n "[object Uint16Array]",\n "[object Uint32Array]"\n ]);\n function getOwnNonIndexProperties(object, filter) {\n const indexes = Array.isArray(object) || isTypedArray(object) ? new Set([...object.keys()].map((v) => v.toString())) : void 0;\n return Object.entries(ObjectGetOwnPropertyDescriptors(object)).filter(([key, desc]) => {\n if (indexes && indexes.has(key)) {\n return false;\n }\n if (filter === 1 && !desc.enumerable) {\n return false;\n }\n return true;\n }).map(([key]) => key);\n }\n __name(getOwnNonIndexProperties, "getOwnNonIndexProperties");\n var isTypedArray = /* @__PURE__ */ __name((value) => kind(value, "object") && typedArrayStrings.has(ObjectPrototypeToString.call(value)), "isTypedArray");\n function kind(value, type) {\n return typeof value === type;\n }\n __name(kind, "kind");\n var getConstructorName = /* @__PURE__ */ __name((object) => {\n var _a;\n return (_a = object.constructor) == null ? void 0 : _a.name;\n }, "getConstructorName");\n var getPrefix = /* @__PURE__ */ __name((constructor = "", size = "") => `${constructor}${size} `, "getPrefix");\n function createFormat2(opts = {}) {\n if (opts.customInspectSymbol === void 0) {\n opts.customInspectSymbol = Symbol.for("edge-runtime.inspect.custom");\n }\n if (opts.formatError === void 0) {\n opts.formatError = (error2) => `[${Error.prototype.toString.call(error2)}]`;\n }\n const { formatError, customInspectSymbol } = opts;\n function format2(...args) {\n const [firstArg] = args;\n if (!kind(firstArg, "string")) {\n if (hasCustomSymbol(firstArg, customInspectSymbol)) {\n return format2(firstArg[customInspectSymbol]({ format: format2 }));\n } else {\n return args.map((item) => inspect(item, { customInspectSymbol })).join(" ");\n }\n }\n let index = 1;\n let str = String(firstArg).replace(/%[sjdOoif%]/g, (token) => {\n if (token === "%%")\n return "%";\n if (index >= args.length)\n return token;\n switch (token) {\n case "%s": {\n const arg = args[index++];\n if (hasCustomSymbol(arg, customInspectSymbol)) {\n return format2(arg[customInspectSymbol]({ format: format2 }));\n } else if (isDate(arg) || isError(arg) || kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(arg);\n }\n }\n case "%j":\n return safeStringify(args[index++]);\n case "%d": {\n const arg = args[index++];\n if (kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(Number(arg));\n }\n }\n case "%O":\n return inspect(args[index++], { customInspectSymbol });\n case "%o":\n return inspect(args[index++], {\n customInspectSymbol,\n showHidden: true,\n depth: 4\n });\n case "%i": {\n const arg = args[index++];\n if (kind(arg, "bigint")) {\n return format2(arg);\n } else {\n return String(parseInt(arg, 10));\n }\n }\n case "%f":\n return String(parseFloat(args[index++]));\n default:\n return token;\n }\n });\n for (let arg = args[index]; index < args.length; arg = args[++index]) {\n if (arg === null || !kind(arg, "object")) {\n str += " " + arg;\n } else {\n str += " " + inspect(arg);\n }\n }\n return str;\n }\n __name(format2, "format");\n function formatValue(ctx, value, recurseTimes) {\n if (hasCustomSymbol(value, customInspectSymbol)) {\n return format2(value[customInspectSymbol]({ format: format2 }));\n }\n const formattedPrimitive = formatPrimitive(value);\n if (formattedPrimitive !== void 0) {\n return formattedPrimitive;\n }\n if (ctx.seen.includes(value)) {\n let index = 1;\n if (ctx.circular === void 0) {\n ctx.circular = /* @__PURE__ */ new Map();\n ctx.circular.set(value, index);\n } else {\n index = ctx.circular.get(value);\n if (index === void 0) {\n index = ctx.circular.size + 1;\n ctx.circular.set(value, index);\n }\n }\n return `[Circular *${index}]`;\n }\n return formatRaw(ctx, value, recurseTimes);\n }\n __name(formatValue, "formatValue");\n function formatRaw(ctx, value, recurseTimes) {\n let keys = [];\n const constructor = getConstructorName(value);\n let base = "";\n let formatter = /* @__PURE__ */ __name(() => [], "formatter");\n let braces = ["", ""];\n let noIterator = true;\n const filter = ctx.showHidden ? 0 : 1;\n if (SymbolIterator in value) {\n noIterator = false;\n if (Array.isArray(value)) {\n const prefix = constructor !== "Array" ? getPrefix(constructor, `(${value.length})`) : "";\n keys = getOwnNonIndexProperties(value, filter);\n braces = [`${prefix}[`, "]"];\n if (value.length === 0 && keys.length === 0) {\n return `${braces[0]}]`;\n }\n formatter = formatArray;\n } else if (isSet(value)) {\n const size = SetPrototypeGetSize.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n keys = getKeys(value, ctx.showHidden);\n formatter = formatSet;\n if (size === 0 && keys.length === 0) {\n return `${prefix}{}`;\n }\n braces = [`${prefix}{`, "}"];\n } else if (isMap(value)) {\n const size = MapPrototypeGetSize.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n keys = getKeys(value, ctx.showHidden);\n formatter = formatMap;\n if (size === 0 && keys.length === 0) {\n return `${prefix}{}`;\n }\n braces = [`${prefix}{`, "}"];\n } else if (isTypedArray(value)) {\n keys = getOwnNonIndexProperties(value, filter);\n const size = TypedArrayPrototypeGetLength.call(value);\n const prefix = getPrefix(constructor, `(${size})`);\n braces = [`${prefix}[`, "]"];\n if (value.length === 0 && keys.length === 0)\n return `${braces[0]}]`;\n formatter = formatTypedArray.bind(null, size);\n } else {\n noIterator = true;\n }\n }\n if (noIterator) {\n keys = getKeys(value, ctx.showHidden);\n braces = ["{", "}"];\n if (constructor === void 0) {\n if (keys.length === 0) {\n return `[Object: null prototype] {}`;\n }\n } else if (constructor === "Object") {\n if (keys.length === 0) {\n return `{}`;\n }\n } else if (kind(value, "function")) {\n base = `[Function${value.name ? ": " + value.name : ""}]`;\n if (keys.length === 0) {\n return base;\n }\n } else if (isRegExp(value)) {\n base = RegExp.prototype.toString.call(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (isDate(value)) {\n base = Number.isNaN(DatePrototypeGetTime.call(value)) ? Date.prototype.toString.call(value) : DatePrototypeToISOString.call(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (isError(value)) {\n base = formatError(value);\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else if (hasCustomSymbol(value, ctx.customInspectSymbol)) {\n base = format2(value[ctx.customInspectSymbol]({ format: format2 }));\n if (keys.length === 0) {\n return base;\n }\n base = " " + base;\n } else {\n braces[0] = `${getPrefix(constructor)}{`;\n }\n }\n if (recurseTimes && recurseTimes < 0) {\n return isRegExp(value) ? RegExp.prototype.toString.call(value) : "[Object]";\n }\n ctx.seen.push(value);\n const visibleKeys = new Set(keys);\n const output = formatter(ctx, value, recurseTimes, visibleKeys, keys);\n for (let i = 0; i < keys.length; i++) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n keys[i],\n false\n )\n );\n }\n if (ctx.circular !== void 0) {\n const index = ctx.circular.get(value);\n if (index !== void 0) {\n const reference = ``;\n base = base === "" ? reference : `${reference} ${base}`;\n }\n }\n ctx.seen.pop();\n return reduceToSingleString(output, base, braces);\n }\n __name(formatRaw, "formatRaw");\n function inspect(value, opts2) {\n opts2 = Object.assign({ seen: [], depth: 2 }, opts2);\n return formatValue(opts2, value, opts2.depth);\n }\n __name(inspect, "inspect");\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, isArray) {\n let name;\n let str;\n const desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n if (desc.value !== void 0) {\n str = formatValue(ctx, desc.value, recurseTimes);\n } else if (desc.get) {\n str = desc.set ? "[Getter/Setter]" : "[Getter]";\n } else if (desc.set) {\n str = "[Setter]";\n } else {\n str = "undefined";\n }\n if (isArray) {\n return str;\n }\n if (kind(key, "symbol")) {\n name = `[${SymbolPrototypeToString.call(key)}]`;\n } else if (!visibleKeys.has(key)) {\n name = "[" + key + "]";\n } else {\n name = key;\n }\n return `${name}: ${str}`;\n }\n __name(formatProperty, "formatProperty");\n function formatArray(ctx, value, recurseTimes, visibleKeys) {\n const output = [];\n for (let index = 0; index < value.length; ++index) {\n if (Object.prototype.hasOwnProperty.call(value, String(index))) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n String(index),\n true\n )\n );\n } else {\n output.push("");\n }\n }\n return output;\n }\n __name(formatArray, "formatArray");\n function formatTypedArray(length, ctx, value, recurseTimes) {\n const output = new Array(length);\n for (let i = 0; i < length; ++i) {\n output[i] = value.length > 0 && kind(value[0], "number") ? String(value[i]) : formatBigInt(value[i]);\n }\n if (ctx.showHidden) {\n for (const key of [\n "BYTES_PER_ELEMENT",\n "length",\n "byteLength",\n "byteOffset",\n "buffer"\n ]) {\n const str = formatValue(ctx, value[key], recurseTimes);\n ArrayPrototypePush.call(output, `[${String(key)}]: ${str}`);\n }\n }\n return output;\n }\n __name(formatTypedArray, "formatTypedArray");\n function formatSet(ctx, value, recurseTimes) {\n const output = [];\n for (const v of value) {\n ArrayPrototypePush.call(output, formatValue(ctx, v, recurseTimes));\n }\n return output;\n }\n __name(formatSet, "formatSet");\n function formatMap(ctx, value, recurseTimes) {\n const output = [];\n for (const { 0: k, 1: v } of value) {\n output.push(\n `${formatValue(ctx, k, recurseTimes)} => ${formatValue(\n ctx,\n v,\n recurseTimes\n )}`\n );\n }\n return output;\n }\n __name(formatMap, "formatMap");\n return format2;\n }\n __name(createFormat2, "createFormat");\n var formatBigInt = /* @__PURE__ */ __name((bigint) => `${bigint}n`, "formatBigInt");\n function formatPrimitive(value) {\n if (value === null)\n return "null";\n if (value === void 0)\n return "undefined";\n if (kind(value, "string")) {\n return `\'${JSON.stringify(value).replace(/^"|"$/g, "").replace(/\'/g, "\\\\\'").replace(/\\\\"/g, \'"\')}\'`;\n }\n if (kind(value, "boolean"))\n return "" + value;\n if (kind(value, "number"))\n return "" + value;\n if (kind(value, "bigint"))\n return formatBigInt(value);\n if (kind(value, "symbol"))\n return value.toString();\n }\n __name(formatPrimitive, "formatPrimitive");\n function hasCustomSymbol(value, customInspectSymbol) {\n return value !== null && kind(value, "object") && customInspectSymbol in value && kind(value[customInspectSymbol], "function");\n }\n __name(hasCustomSymbol, "hasCustomSymbol");\n function isRegExp(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object RegExp]";\n }\n __name(isRegExp, "isRegExp");\n function isDate(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Date]";\n }\n __name(isDate, "isDate");\n function isError(value) {\n return kind(value, "object") && (Object.prototype.toString.call(value) === "[object Error]" || value instanceof Error);\n }\n __name(isError, "isError");\n function isMap(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Map]";\n }\n __name(isMap, "isMap");\n function isSet(value) {\n return kind(value, "object") && Object.prototype.toString.call(value) === "[object Set]";\n }\n __name(isSet, "isSet");\n function isBelowBreakLength(output, start, base) {\n const breakLength = 80;\n let totalLength = output.length + start;\n if (totalLength + output.length > breakLength) {\n return false;\n }\n for (let i = 0; i < output.length; i++) {\n totalLength += output[i].length;\n if (totalLength > breakLength) {\n return false;\n }\n }\n return base === "" || !StringPrototypeIncludes.call(base, "\\n");\n }\n __name(isBelowBreakLength, "isBelowBreakLength");\n function reduceToSingleString(output, base, braces) {\n const start = output.length + braces[0].length + base.length + 10;\n if (!isBelowBreakLength(output, start, base)) {\n return (base ? base + " " : "") + braces[0] + "\\n " + output.join(",\\n ") + "\\n" + braces[1];\n }\n return ((base ? base + " " : "") + braces[0] + " " + output.join(", ") + " " + braces[1]).trim();\n }\n __name(reduceToSingleString, "reduceToSingleString");\n function safeStringify(input) {\n if (Array.isArray(input)) {\n input = input.map(\n (element) => JSON.parse(JSON.stringify(element, makeCircularReplacer()))\n );\n }\n return JSON.stringify(input, makeCircularReplacer());\n }\n __name(safeStringify, "safeStringify");\n function makeCircularReplacer() {\n const seen = /* @__PURE__ */ new WeakSet();\n return (key, value) => {\n if (value !== null && kind(value, "object")) {\n if (seen.has(value))\n return "[Circular]";\n seen.add(value);\n }\n return value;\n };\n }\n __name(makeCircularReplacer, "makeCircularReplacer");\n function getKeys(value, showHidden = false) {\n let keys;\n const symbols = ObjectGetOwnPropertySymbols(value);\n if (showHidden) {\n keys = ObjectGetOwnPropertyNames(value);\n if (symbols.length !== 0)\n ArrayPrototypePush.apply(keys, symbols);\n } else {\n try {\n keys = ObjectKeys(value);\n } catch (err) {\n keys = ObjectGetOwnPropertyNames(value);\n }\n if (symbols.length !== 0) {\n const filter = /* @__PURE__ */ __name((key) => ObjectPrototypePropertyIsEnumerable.call(value, key), "filter");\n ArrayPrototypePush.apply(keys, ArrayPrototypeFilter.call(symbols, filter));\n }\n }\n return keys;\n }\n __name(getKeys, "getKeys");\n }\n});\n\n// src/primitives/console.js\nvar console_exports = {};\n__export(console_exports, {\n console: () => konsole\n});\nmodule.exports = __toCommonJS(console_exports);\ninit_define_process();\nvar import_format = __toESM(require_dist());\nvar format = (0, import_format.createFormat)();\nvar bareError = console.error.bind(console);\nvar bareLog = console.log.bind(console);\nvar assert = console.assert.bind(console);\nvar time = console.time.bind(console);\nvar timeEnd = console.timeEnd.bind(console);\nvar timeLog = console.timeLog.bind(console);\nvar trace = console.trace.bind(console);\nvar error = /* @__PURE__ */ __name((...args) => bareError(format(...args)), "error");\nvar log = /* @__PURE__ */ __name((...args) => bareLog(format(...args)), "log");\nvar konsole = {\n assert: (assertion, ...args) => assert(assertion, format(...args)),\n count: console.count.bind(console),\n debug: log,\n dir: console.dir.bind(console),\n error,\n info: log,\n log,\n time: (...args) => time(format(...args)),\n timeEnd: (...args) => timeEnd(format(...args)),\n timeLog,\n trace,\n warn: error\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n console\n});\n'},911:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/crypto.js\nvar crypto_exports = {};\n__export(crypto_exports, {\n Crypto: () => Crypto2,\n CryptoKey: () => CryptoKey,\n SubtleCrypto: () => SubtleCrypto3,\n crypto: () => crypto2\n});\nmodule.exports = __toCommonJS(crypto_exports);\n\n// ../../node_modules/.pnpm/pvtsutils@1.3.2/node_modules/pvtsutils/build/index.es.js\nvar ARRAY_BUFFER_NAME = "[object ArrayBuffer]";\nvar BufferSourceConverter = class {\n static isArrayBuffer(data) {\n return Object.prototype.toString.call(data) === ARRAY_BUFFER_NAME;\n }\n static toArrayBuffer(data) {\n if (this.isArrayBuffer(data)) {\n return data;\n }\n if (data.byteLength === data.buffer.byteLength) {\n return data.buffer;\n }\n return this.toUint8Array(data).slice().buffer;\n }\n static toUint8Array(data) {\n return this.toView(data, Uint8Array);\n }\n static toView(data, type) {\n if (data.constructor === type) {\n return data;\n }\n if (this.isArrayBuffer(data)) {\n return new type(data);\n }\n if (this.isArrayBufferView(data)) {\n return new type(data.buffer, data.byteOffset, data.byteLength);\n }\n throw new TypeError("The provided value is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n static isBufferSource(data) {\n return this.isArrayBufferView(data) || this.isArrayBuffer(data);\n }\n static isArrayBufferView(data) {\n return ArrayBuffer.isView(data) || data && this.isArrayBuffer(data.buffer);\n }\n static isEqual(a, b) {\n const aView = BufferSourceConverter.toUint8Array(a);\n const bView = BufferSourceConverter.toUint8Array(b);\n if (aView.length !== bView.byteLength) {\n return false;\n }\n for (let i = 0; i < aView.length; i++) {\n if (aView[i] !== bView[i]) {\n return false;\n }\n }\n return true;\n }\n static concat(...args) {\n if (Array.isArray(args[0])) {\n const buffers = args[0];\n let size = 0;\n for (const buffer of buffers) {\n size += buffer.byteLength;\n }\n const res = new Uint8Array(size);\n let offset = 0;\n for (const buffer of buffers) {\n const view = this.toUint8Array(buffer);\n res.set(view, offset);\n offset += view.length;\n }\n if (args[1]) {\n return this.toView(res, args[1]);\n }\n return res.buffer;\n } else {\n return this.concat(args);\n }\n }\n};\n__name(BufferSourceConverter, "BufferSourceConverter");\nvar Utf8Converter = class {\n static fromString(text) {\n const s = unescape(encodeURIComponent(text));\n const uintArray = new Uint8Array(s.length);\n for (let i = 0; i < s.length; i++) {\n uintArray[i] = s.charCodeAt(i);\n }\n return uintArray.buffer;\n }\n static toString(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n let encodedString = "";\n for (let i = 0; i < buf.length; i++) {\n encodedString += String.fromCharCode(buf[i]);\n }\n const decodedString = decodeURIComponent(escape(encodedString));\n return decodedString;\n }\n};\n__name(Utf8Converter, "Utf8Converter");\nvar Utf16Converter = class {\n static toString(buffer, littleEndian = false) {\n const arrayBuffer = BufferSourceConverter.toArrayBuffer(buffer);\n const dataView = new DataView(arrayBuffer);\n let res = "";\n for (let i = 0; i < arrayBuffer.byteLength; i += 2) {\n const code = dataView.getUint16(i, littleEndian);\n res += String.fromCharCode(code);\n }\n return res;\n }\n static fromString(text, littleEndian = false) {\n const res = new ArrayBuffer(text.length * 2);\n const dataView = new DataView(res);\n for (let i = 0; i < text.length; i++) {\n dataView.setUint16(i * 2, text.charCodeAt(i), littleEndian);\n }\n return res;\n }\n};\n__name(Utf16Converter, "Utf16Converter");\nvar Convert = class {\n static isHex(data) {\n return typeof data === "string" && /^[a-z0-9]+$/i.test(data);\n }\n static isBase64(data) {\n return typeof data === "string" && /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(data);\n }\n static isBase64Url(data) {\n return typeof data === "string" && /^[a-zA-Z0-9-_]+$/i.test(data);\n }\n static ToString(buffer, enc = "utf8") {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n switch (enc.toLowerCase()) {\n case "utf8":\n return this.ToUtf8String(buf);\n case "binary":\n return this.ToBinary(buf);\n case "hex":\n return this.ToHex(buf);\n case "base64":\n return this.ToBase64(buf);\n case "base64url":\n return this.ToBase64Url(buf);\n case "utf16le":\n return Utf16Converter.toString(buf, true);\n case "utf16":\n case "utf16be":\n return Utf16Converter.toString(buf);\n default:\n throw new Error(`Unknown type of encoding \'${enc}\'`);\n }\n }\n static FromString(str, enc = "utf8") {\n if (!str) {\n return new ArrayBuffer(0);\n }\n switch (enc.toLowerCase()) {\n case "utf8":\n return this.FromUtf8String(str);\n case "binary":\n return this.FromBinary(str);\n case "hex":\n return this.FromHex(str);\n case "base64":\n return this.FromBase64(str);\n case "base64url":\n return this.FromBase64Url(str);\n case "utf16le":\n return Utf16Converter.fromString(str, true);\n case "utf16":\n case "utf16be":\n return Utf16Converter.fromString(str);\n default:\n throw new Error(`Unknown type of encoding \'${enc}\'`);\n }\n }\n static ToBase64(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n if (typeof btoa !== "undefined") {\n const binary = this.ToString(buf, "binary");\n return btoa(binary);\n } else {\n return Buffer.from(buf).toString("base64");\n }\n }\n static FromBase64(base64) {\n const formatted = this.formatString(base64);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isBase64(formatted)) {\n throw new TypeError("Argument \'base64Text\' is not Base64 encoded");\n }\n if (typeof atob !== "undefined") {\n return this.FromBinary(atob(formatted));\n } else {\n return new Uint8Array(Buffer.from(formatted, "base64")).buffer;\n }\n }\n static FromBase64Url(base64url) {\n const formatted = this.formatString(base64url);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isBase64Url(formatted)) {\n throw new TypeError("Argument \'base64url\' is not Base64Url encoded");\n }\n return this.FromBase64(this.Base64Padding(formatted.replace(/\\-/g, "+").replace(/\\_/g, "/")));\n }\n static ToBase64Url(data) {\n return this.ToBase64(data).replace(/\\+/g, "-").replace(/\\//g, "_").replace(/\\=/g, "");\n }\n static FromUtf8String(text, encoding = Convert.DEFAULT_UTF8_ENCODING) {\n switch (encoding) {\n case "ascii":\n return this.FromBinary(text);\n case "utf8":\n return Utf8Converter.fromString(text);\n case "utf16":\n case "utf16be":\n return Utf16Converter.fromString(text);\n case "utf16le":\n case "usc2":\n return Utf16Converter.fromString(text, true);\n default:\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\n }\n }\n static ToUtf8String(buffer, encoding = Convert.DEFAULT_UTF8_ENCODING) {\n switch (encoding) {\n case "ascii":\n return this.ToBinary(buffer);\n case "utf8":\n return Utf8Converter.toString(buffer);\n case "utf16":\n case "utf16be":\n return Utf16Converter.toString(buffer);\n case "utf16le":\n case "usc2":\n return Utf16Converter.toString(buffer, true);\n default:\n throw new Error(`Unknown type of encoding \'${encoding}\'`);\n }\n }\n static FromBinary(text) {\n const stringLength = text.length;\n const resultView = new Uint8Array(stringLength);\n for (let i = 0; i < stringLength; i++) {\n resultView[i] = text.charCodeAt(i);\n }\n return resultView.buffer;\n }\n static ToBinary(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n let res = "";\n for (let i = 0; i < buf.length; i++) {\n res += String.fromCharCode(buf[i]);\n }\n return res;\n }\n static ToHex(buffer) {\n const buf = BufferSourceConverter.toUint8Array(buffer);\n const splitter = "";\n const res = [];\n const len = buf.length;\n for (let i = 0; i < len; i++) {\n const char = buf[i].toString(16).padStart(2, "0");\n res.push(char);\n }\n return res.join(splitter);\n }\n static FromHex(hexString) {\n let formatted = this.formatString(hexString);\n if (!formatted) {\n return new ArrayBuffer(0);\n }\n if (!Convert.isHex(formatted)) {\n throw new TypeError("Argument \'hexString\' is not HEX encoded");\n }\n if (formatted.length % 2) {\n formatted = `0${formatted}`;\n }\n const res = new Uint8Array(formatted.length / 2);\n for (let i = 0; i < formatted.length; i = i + 2) {\n const c = formatted.slice(i, i + 2);\n res[i / 2] = parseInt(c, 16);\n }\n return res.buffer;\n }\n static ToUtf16String(buffer, littleEndian = false) {\n return Utf16Converter.toString(buffer, littleEndian);\n }\n static FromUtf16String(text, littleEndian = false) {\n return Utf16Converter.fromString(text, littleEndian);\n }\n static Base64Padding(base64) {\n const padCount = 4 - base64.length % 4;\n if (padCount < 4) {\n for (let i = 0; i < padCount; i++) {\n base64 += "=";\n }\n }\n return base64;\n }\n static formatString(data) {\n return (data === null || data === void 0 ? void 0 : data.replace(/[\\n\\r\\t ]/g, "")) || "";\n }\n};\n__name(Convert, "Convert");\nConvert.DEFAULT_UTF8_ENCODING = "utf8";\nfunction combine(...buf) {\n const totalByteLength = buf.map((item) => item.byteLength).reduce((prev, cur) => prev + cur);\n const res = new Uint8Array(totalByteLength);\n let currentPos = 0;\n buf.map((item) => new Uint8Array(item)).forEach((arr) => {\n for (const item2 of arr) {\n res[currentPos++] = item2;\n }\n });\n return res.buffer;\n}\n__name(combine, "combine");\n\n// ../../node_modules/.pnpm/asn1js@3.0.5/node_modules/asn1js/build/index.es.js\nvar index_es_exports = {};\n__export(index_es_exports, {\n Any: () => Any,\n BaseBlock: () => BaseBlock,\n BaseStringBlock: () => BaseStringBlock,\n BitString: () => BitString,\n BmpString: () => BmpString,\n Boolean: () => Boolean,\n CharacterString: () => CharacterString,\n Choice: () => Choice,\n Constructed: () => Constructed,\n DATE: () => DATE,\n DateTime: () => DateTime,\n Duration: () => Duration,\n EndOfContent: () => EndOfContent,\n Enumerated: () => Enumerated,\n GeneralString: () => GeneralString,\n GeneralizedTime: () => GeneralizedTime,\n GraphicString: () => GraphicString,\n HexBlock: () => HexBlock,\n IA5String: () => IA5String,\n Integer: () => Integer,\n Null: () => Null,\n NumericString: () => NumericString,\n ObjectIdentifier: () => ObjectIdentifier,\n OctetString: () => OctetString,\n Primitive: () => Primitive,\n PrintableString: () => PrintableString,\n RawData: () => RawData,\n RelativeObjectIdentifier: () => RelativeObjectIdentifier,\n Repeated: () => Repeated,\n Sequence: () => Sequence,\n Set: () => Set,\n TIME: () => TIME,\n TeletexString: () => TeletexString,\n TimeOfDay: () => TimeOfDay,\n UTCTime: () => UTCTime,\n UniversalString: () => UniversalString,\n Utf8String: () => Utf8String,\n ValueBlock: () => ValueBlock,\n VideotexString: () => VideotexString,\n ViewWriter: () => ViewWriter,\n VisibleString: () => VisibleString,\n compareSchema: () => compareSchema,\n fromBER: () => fromBER,\n verifySchema: () => verifySchema\n});\n\n// ../../node_modules/.pnpm/pvutils@1.1.3/node_modules/pvutils/build/utils.es.js\nfunction utilFromBase(inputBuffer, inputBase) {\n let result = 0;\n if (inputBuffer.length === 1) {\n return inputBuffer[0];\n }\n for (let i = inputBuffer.length - 1; i >= 0; i--) {\n result += inputBuffer[inputBuffer.length - 1 - i] * Math.pow(2, inputBase * i);\n }\n return result;\n}\n__name(utilFromBase, "utilFromBase");\nfunction utilToBase(value, base, reserved = -1) {\n const internalReserved = reserved;\n let internalValue = value;\n let result = 0;\n let biggest = Math.pow(2, base);\n for (let i = 1; i < 8; i++) {\n if (value < biggest) {\n let retBuf;\n if (internalReserved < 0) {\n retBuf = new ArrayBuffer(i);\n result = i;\n } else {\n if (internalReserved < i) {\n return new ArrayBuffer(0);\n }\n retBuf = new ArrayBuffer(internalReserved);\n result = internalReserved;\n }\n const retView = new Uint8Array(retBuf);\n for (let j = i - 1; j >= 0; j--) {\n const basis = Math.pow(2, j * base);\n retView[result - j - 1] = Math.floor(internalValue / basis);\n internalValue -= retView[result - j - 1] * basis;\n }\n return retBuf;\n }\n biggest *= Math.pow(2, base);\n }\n return new ArrayBuffer(0);\n}\n__name(utilToBase, "utilToBase");\nfunction utilConcatView(...views) {\n let outputLength = 0;\n let prevLength = 0;\n for (const view of views) {\n outputLength += view.length;\n }\n const retBuf = new ArrayBuffer(outputLength);\n const retView = new Uint8Array(retBuf);\n for (const view of views) {\n retView.set(view, prevLength);\n prevLength += view.length;\n }\n return retView;\n}\n__name(utilConcatView, "utilConcatView");\nfunction utilDecodeTC() {\n const buf = new Uint8Array(this.valueHex);\n if (this.valueHex.byteLength >= 2) {\n const condition1 = buf[0] === 255 && buf[1] & 128;\n const condition2 = buf[0] === 0 && (buf[1] & 128) === 0;\n if (condition1 || condition2) {\n this.warnings.push("Needlessly long format");\n }\n }\n const bigIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\n const bigIntView = new Uint8Array(bigIntBuffer);\n for (let i = 0; i < this.valueHex.byteLength; i++) {\n bigIntView[i] = 0;\n }\n bigIntView[0] = buf[0] & 128;\n const bigInt = utilFromBase(bigIntView, 8);\n const smallIntBuffer = new ArrayBuffer(this.valueHex.byteLength);\n const smallIntView = new Uint8Array(smallIntBuffer);\n for (let j = 0; j < this.valueHex.byteLength; j++) {\n smallIntView[j] = buf[j];\n }\n smallIntView[0] &= 127;\n const smallInt = utilFromBase(smallIntView, 8);\n return smallInt - bigInt;\n}\n__name(utilDecodeTC, "utilDecodeTC");\nfunction utilEncodeTC(value) {\n const modValue = value < 0 ? value * -1 : value;\n let bigInt = 128;\n for (let i = 1; i < 8; i++) {\n if (modValue <= bigInt) {\n if (value < 0) {\n const smallInt = bigInt - modValue;\n const retBuf2 = utilToBase(smallInt, 8, i);\n const retView2 = new Uint8Array(retBuf2);\n retView2[0] |= 128;\n return retBuf2;\n }\n let retBuf = utilToBase(modValue, 8, i);\n let retView = new Uint8Array(retBuf);\n if (retView[0] & 128) {\n const tempBuf = retBuf.slice(0);\n const tempView = new Uint8Array(tempBuf);\n retBuf = new ArrayBuffer(retBuf.byteLength + 1);\n retView = new Uint8Array(retBuf);\n for (let k = 0; k < tempBuf.byteLength; k++) {\n retView[k + 1] = tempView[k];\n }\n retView[0] = 0;\n }\n return retBuf;\n }\n bigInt *= Math.pow(2, 8);\n }\n return new ArrayBuffer(0);\n}\n__name(utilEncodeTC, "utilEncodeTC");\nfunction isEqualBuffer(inputBuffer1, inputBuffer2) {\n if (inputBuffer1.byteLength !== inputBuffer2.byteLength) {\n return false;\n }\n const view1 = new Uint8Array(inputBuffer1);\n const view2 = new Uint8Array(inputBuffer2);\n for (let i = 0; i < view1.length; i++) {\n if (view1[i] !== view2[i]) {\n return false;\n }\n }\n return true;\n}\n__name(isEqualBuffer, "isEqualBuffer");\nfunction padNumber(inputNumber, fullLength) {\n const str = inputNumber.toString(10);\n if (fullLength < str.length) {\n return "";\n }\n const dif = fullLength - str.length;\n const padding = new Array(dif);\n for (let i = 0; i < dif; i++) {\n padding[i] = "0";\n }\n const paddingString = padding.join("");\n return paddingString.concat(str);\n}\n__name(padNumber, "padNumber");\nvar log2 = Math.log(2);\n\n// ../../node_modules/.pnpm/asn1js@3.0.5/node_modules/asn1js/build/index.es.js\nfunction assertBigInt() {\n if (typeof BigInt === "undefined") {\n throw new Error("BigInt is not defined. Your environment doesn\'t implement BigInt.");\n }\n}\n__name(assertBigInt, "assertBigInt");\nfunction concat(buffers) {\n let outputLength = 0;\n let prevLength = 0;\n for (let i = 0; i < buffers.length; i++) {\n const buffer = buffers[i];\n outputLength += buffer.byteLength;\n }\n const retView = new Uint8Array(outputLength);\n for (let i = 0; i < buffers.length; i++) {\n const buffer = buffers[i];\n retView.set(new Uint8Array(buffer), prevLength);\n prevLength += buffer.byteLength;\n }\n return retView.buffer;\n}\n__name(concat, "concat");\nfunction checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength) {\n if (!(inputBuffer instanceof Uint8Array)) {\n baseBlock.error = "Wrong parameter: inputBuffer must be \'Uint8Array\'";\n return false;\n }\n if (!inputBuffer.byteLength) {\n baseBlock.error = "Wrong parameter: inputBuffer has zero length";\n return false;\n }\n if (inputOffset < 0) {\n baseBlock.error = "Wrong parameter: inputOffset less than zero";\n return false;\n }\n if (inputLength < 0) {\n baseBlock.error = "Wrong parameter: inputLength less than zero";\n return false;\n }\n if (inputBuffer.byteLength - inputOffset - inputLength < 0) {\n baseBlock.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\n return false;\n }\n return true;\n}\n__name(checkBufferParams, "checkBufferParams");\nvar ViewWriter = class {\n constructor() {\n this.items = [];\n }\n write(buf) {\n this.items.push(buf);\n }\n final() {\n return concat(this.items);\n }\n};\n__name(ViewWriter, "ViewWriter");\nvar powers2 = [new Uint8Array([1])];\nvar digitsString = "0123456789";\nvar NAME = "name";\nvar VALUE_HEX_VIEW = "valueHexView";\nvar IS_HEX_ONLY = "isHexOnly";\nvar ID_BLOCK = "idBlock";\nvar TAG_CLASS = "tagClass";\nvar TAG_NUMBER = "tagNumber";\nvar IS_CONSTRUCTED = "isConstructed";\nvar FROM_BER = "fromBER";\nvar TO_BER = "toBER";\nvar LOCAL = "local";\nvar EMPTY_STRING = "";\nvar EMPTY_BUFFER = new ArrayBuffer(0);\nvar EMPTY_VIEW = new Uint8Array(0);\nvar END_OF_CONTENT_NAME = "EndOfContent";\nvar OCTET_STRING_NAME = "OCTET STRING";\nvar BIT_STRING_NAME = "BIT STRING";\nfunction HexBlock(BaseClass) {\n var _a2;\n return _a2 = /* @__PURE__ */ __name(class Some extends BaseClass {\n constructor(...args) {\n var _a3;\n super(...args);\n const params = args[0] || {};\n this.isHexOnly = (_a3 = params.isHexOnly) !== null && _a3 !== void 0 ? _a3 : false;\n this.valueHexView = params.valueHex ? BufferSourceConverter.toUint8Array(params.valueHex) : EMPTY_VIEW;\n }\n get valueHex() {\n return this.valueHexView.slice().buffer;\n }\n set valueHex(value) {\n this.valueHexView = new Uint8Array(value);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n const endLength = inputOffset + inputLength;\n this.valueHexView = view.subarray(inputOffset, endLength);\n if (!this.valueHexView.length) {\n this.warnings.push("Zero buffer length");\n return inputOffset;\n }\n this.blockLength = inputLength;\n return endLength;\n }\n toBER(sizeOnly = false) {\n if (!this.isHexOnly) {\n this.error = "Flag \'isHexOnly\' is not set, abort";\n return EMPTY_BUFFER;\n }\n if (sizeOnly) {\n return new ArrayBuffer(this.valueHexView.byteLength);\n }\n return this.valueHexView.byteLength === this.valueHexView.buffer.byteLength ? this.valueHexView.buffer : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isHexOnly: this.isHexOnly,\n valueHex: Convert.ToHex(this.valueHexView)\n };\n }\n }, "Some"), _a2.NAME = "hexBlock", _a2;\n}\n__name(HexBlock, "HexBlock");\nvar LocalBaseBlock = class {\n constructor({ blockLength = 0, error = EMPTY_STRING, warnings = [], valueBeforeDecode = EMPTY_VIEW } = {}) {\n this.blockLength = blockLength;\n this.error = error;\n this.warnings = warnings;\n this.valueBeforeDecodeView = BufferSourceConverter.toUint8Array(valueBeforeDecode);\n }\n static blockName() {\n return this.NAME;\n }\n get valueBeforeDecode() {\n return this.valueBeforeDecodeView.slice().buffer;\n }\n set valueBeforeDecode(value) {\n this.valueBeforeDecodeView = new Uint8Array(value);\n }\n toJSON() {\n return {\n blockName: this.constructor.NAME,\n blockLength: this.blockLength,\n error: this.error,\n warnings: this.warnings,\n valueBeforeDecode: Convert.ToHex(this.valueBeforeDecodeView)\n };\n }\n};\n__name(LocalBaseBlock, "LocalBaseBlock");\nLocalBaseBlock.NAME = "baseBlock";\nvar ValueBlock = class extends LocalBaseBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\n }\n toBER(sizeOnly, writer) {\n throw TypeError("User need to make a specific function in a class which extends \'ValueBlock\'");\n }\n};\n__name(ValueBlock, "ValueBlock");\nValueBlock.NAME = "valueBlock";\nvar LocalIdentificationBlock = class extends HexBlock(LocalBaseBlock) {\n constructor({ idBlock = {} } = {}) {\n var _a2, _b, _c, _d;\n super();\n if (idBlock) {\n this.isHexOnly = (_a2 = idBlock.isHexOnly) !== null && _a2 !== void 0 ? _a2 : false;\n this.valueHexView = idBlock.valueHex ? BufferSourceConverter.toUint8Array(idBlock.valueHex) : EMPTY_VIEW;\n this.tagClass = (_b = idBlock.tagClass) !== null && _b !== void 0 ? _b : -1;\n this.tagNumber = (_c = idBlock.tagNumber) !== null && _c !== void 0 ? _c : -1;\n this.isConstructed = (_d = idBlock.isConstructed) !== null && _d !== void 0 ? _d : false;\n } else {\n this.tagClass = -1;\n this.tagNumber = -1;\n this.isConstructed = false;\n }\n }\n toBER(sizeOnly = false) {\n let firstOctet = 0;\n switch (this.tagClass) {\n case 1:\n firstOctet |= 0;\n break;\n case 2:\n firstOctet |= 64;\n break;\n case 3:\n firstOctet |= 128;\n break;\n case 4:\n firstOctet |= 192;\n break;\n default:\n this.error = "Unknown tag class";\n return EMPTY_BUFFER;\n }\n if (this.isConstructed)\n firstOctet |= 32;\n if (this.tagNumber < 31 && !this.isHexOnly) {\n const retView2 = new Uint8Array(1);\n if (!sizeOnly) {\n let number = this.tagNumber;\n number &= 31;\n firstOctet |= number;\n retView2[0] = firstOctet;\n }\n return retView2.buffer;\n }\n if (!this.isHexOnly) {\n const encodedBuf = utilToBase(this.tagNumber, 7);\n const encodedView = new Uint8Array(encodedBuf);\n const size = encodedBuf.byteLength;\n const retView2 = new Uint8Array(size + 1);\n retView2[0] = firstOctet | 31;\n if (!sizeOnly) {\n for (let i = 0; i < size - 1; i++)\n retView2[i + 1] = encodedView[i] | 128;\n retView2[size] = encodedView[size - 1];\n }\n return retView2.buffer;\n }\n const retView = new Uint8Array(this.valueHexView.byteLength + 1);\n retView[0] = firstOctet | 31;\n if (!sizeOnly) {\n const curView = this.valueHexView;\n for (let i = 0; i < curView.length - 1; i++)\n retView[i + 1] = curView[i] | 128;\n retView[this.valueHexView.byteLength] = curView[curView.length - 1];\n }\n return retView.buffer;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n if (intBuffer.length === 0) {\n this.error = "Zero buffer length";\n return -1;\n }\n const tagClassMask = intBuffer[0] & 192;\n switch (tagClassMask) {\n case 0:\n this.tagClass = 1;\n break;\n case 64:\n this.tagClass = 2;\n break;\n case 128:\n this.tagClass = 3;\n break;\n case 192:\n this.tagClass = 4;\n break;\n default:\n this.error = "Unknown tag class";\n return -1;\n }\n this.isConstructed = (intBuffer[0] & 32) === 32;\n this.isHexOnly = false;\n const tagNumberMask = intBuffer[0] & 31;\n if (tagNumberMask !== 31) {\n this.tagNumber = tagNumberMask;\n this.blockLength = 1;\n } else {\n let count = 1;\n let intTagNumberBuffer = this.valueHexView = new Uint8Array(255);\n let tagNumberBufferMaxLength = 255;\n while (intBuffer[count] & 128) {\n intTagNumberBuffer[count - 1] = intBuffer[count] & 127;\n count++;\n if (count >= intBuffer.length) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (count === tagNumberBufferMaxLength) {\n tagNumberBufferMaxLength += 255;\n const tempBufferView2 = new Uint8Array(tagNumberBufferMaxLength);\n for (let i = 0; i < intTagNumberBuffer.length; i++)\n tempBufferView2[i] = intTagNumberBuffer[i];\n intTagNumberBuffer = this.valueHexView = new Uint8Array(tagNumberBufferMaxLength);\n }\n }\n this.blockLength = count + 1;\n intTagNumberBuffer[count - 1] = intBuffer[count] & 127;\n const tempBufferView = new Uint8Array(count);\n for (let i = 0; i < count; i++)\n tempBufferView[i] = intTagNumberBuffer[i];\n intTagNumberBuffer = this.valueHexView = new Uint8Array(count);\n intTagNumberBuffer.set(tempBufferView);\n if (this.blockLength <= 9)\n this.tagNumber = utilFromBase(intTagNumberBuffer, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Tag too long, represented as hex-coded");\n }\n }\n if (this.tagClass === 1 && this.isConstructed) {\n switch (this.tagNumber) {\n case 1:\n case 2:\n case 5:\n case 6:\n case 9:\n case 13:\n case 14:\n case 23:\n case 24:\n case 31:\n case 32:\n case 33:\n case 34:\n this.error = "Constructed encoding used for primitive type";\n return -1;\n }\n }\n return inputOffset + this.blockLength;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n tagClass: this.tagClass,\n tagNumber: this.tagNumber,\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalIdentificationBlock, "LocalIdentificationBlock");\nLocalIdentificationBlock.NAME = "identificationBlock";\nvar LocalLengthBlock = class extends LocalBaseBlock {\n constructor({ lenBlock = {} } = {}) {\n var _a2, _b, _c;\n super();\n this.isIndefiniteForm = (_a2 = lenBlock.isIndefiniteForm) !== null && _a2 !== void 0 ? _a2 : false;\n this.longFormUsed = (_b = lenBlock.longFormUsed) !== null && _b !== void 0 ? _b : false;\n this.length = (_c = lenBlock.length) !== null && _c !== void 0 ? _c : 0;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = view.subarray(inputOffset, inputOffset + inputLength);\n if (intBuffer.length === 0) {\n this.error = "Zero buffer length";\n return -1;\n }\n if (intBuffer[0] === 255) {\n this.error = "Length block 0xFF is reserved by standard";\n return -1;\n }\n this.isIndefiniteForm = intBuffer[0] === 128;\n if (this.isIndefiniteForm) {\n this.blockLength = 1;\n return inputOffset + this.blockLength;\n }\n this.longFormUsed = !!(intBuffer[0] & 128);\n if (this.longFormUsed === false) {\n this.length = intBuffer[0];\n this.blockLength = 1;\n return inputOffset + this.blockLength;\n }\n const count = intBuffer[0] & 127;\n if (count > 8) {\n this.error = "Too big integer";\n return -1;\n }\n if (count + 1 > intBuffer.length) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n const lenOffset = inputOffset + 1;\n const lengthBufferView = view.subarray(lenOffset, lenOffset + count);\n if (lengthBufferView[count - 1] === 0)\n this.warnings.push("Needlessly long encoded length");\n this.length = utilFromBase(lengthBufferView, 8);\n if (this.longFormUsed && this.length <= 127)\n this.warnings.push("Unnecessary usage of long length form");\n this.blockLength = count + 1;\n return inputOffset + this.blockLength;\n }\n toBER(sizeOnly = false) {\n let retBuf;\n let retView;\n if (this.length > 127)\n this.longFormUsed = true;\n if (this.isIndefiniteForm) {\n retBuf = new ArrayBuffer(1);\n if (sizeOnly === false) {\n retView = new Uint8Array(retBuf);\n retView[0] = 128;\n }\n return retBuf;\n }\n if (this.longFormUsed) {\n const encodedBuf = utilToBase(this.length, 8);\n if (encodedBuf.byteLength > 127) {\n this.error = "Too big length";\n return EMPTY_BUFFER;\n }\n retBuf = new ArrayBuffer(encodedBuf.byteLength + 1);\n if (sizeOnly)\n return retBuf;\n const encodedView = new Uint8Array(encodedBuf);\n retView = new Uint8Array(retBuf);\n retView[0] = encodedBuf.byteLength | 128;\n for (let i = 0; i < encodedBuf.byteLength; i++)\n retView[i + 1] = encodedView[i];\n return retBuf;\n }\n retBuf = new ArrayBuffer(1);\n if (sizeOnly === false) {\n retView = new Uint8Array(retBuf);\n retView[0] = this.length;\n }\n return retBuf;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isIndefiniteForm: this.isIndefiniteForm,\n longFormUsed: this.longFormUsed,\n length: this.length\n };\n }\n};\n__name(LocalLengthBlock, "LocalLengthBlock");\nLocalLengthBlock.NAME = "lengthBlock";\nvar typeStore = {};\nvar BaseBlock = class extends LocalBaseBlock {\n constructor({ name = EMPTY_STRING, optional = false, primitiveSchema, ...parameters } = {}, valueBlockType) {\n super(parameters);\n this.name = name;\n this.optional = optional;\n if (primitiveSchema) {\n this.primitiveSchema = primitiveSchema;\n }\n this.idBlock = new LocalIdentificationBlock(parameters);\n this.lenBlock = new LocalLengthBlock(parameters);\n this.valueBlock = valueBlockType ? new valueBlockType(parameters) : new ValueBlock(parameters);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n const _writer = writer || new ViewWriter();\n if (!writer) {\n prepareIndefiniteForm(this);\n }\n const idBlockBuf = this.idBlock.toBER(sizeOnly);\n _writer.write(idBlockBuf);\n if (this.lenBlock.isIndefiniteForm) {\n _writer.write(new Uint8Array([128]).buffer);\n this.valueBlock.toBER(sizeOnly, _writer);\n _writer.write(new ArrayBuffer(2));\n } else {\n const valueBlockBuf = this.valueBlock.toBER(sizeOnly);\n this.lenBlock.length = valueBlockBuf.byteLength;\n const lenBlockBuf = this.lenBlock.toBER(sizeOnly);\n _writer.write(lenBlockBuf);\n _writer.write(valueBlockBuf);\n }\n if (!writer) {\n return _writer.final();\n }\n return EMPTY_BUFFER;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n idBlock: this.idBlock.toJSON(),\n lenBlock: this.lenBlock.toJSON(),\n valueBlock: this.valueBlock.toJSON(),\n name: this.name,\n optional: this.optional\n };\n if (this.primitiveSchema)\n object.primitiveSchema = this.primitiveSchema.toJSON();\n return object;\n }\n toString(encoding = "ascii") {\n if (encoding === "ascii") {\n return this.onAsciiEncoding();\n }\n return Convert.ToHex(this.toBER());\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`;\n }\n isEqual(other) {\n if (this === other) {\n return true;\n }\n if (!(other instanceof this.constructor)) {\n return false;\n }\n const thisRaw = this.toBER();\n const otherRaw = other.toBER();\n return isEqualBuffer(thisRaw, otherRaw);\n }\n};\n__name(BaseBlock, "BaseBlock");\nBaseBlock.NAME = "BaseBlock";\nfunction prepareIndefiniteForm(baseBlock) {\n if (baseBlock instanceof typeStore.Constructed) {\n for (const value of baseBlock.valueBlock.value) {\n if (prepareIndefiniteForm(value)) {\n baseBlock.lenBlock.isIndefiniteForm = true;\n }\n }\n }\n return !!baseBlock.lenBlock.isIndefiniteForm;\n}\n__name(prepareIndefiniteForm, "prepareIndefiniteForm");\nvar BaseStringBlock = class extends BaseBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}, stringValueBlockType) {\n super(parameters, stringValueBlockType);\n if (value) {\n this.fromString(value);\n }\n }\n getValue() {\n return this.valueBlock.value;\n }\n setValue(value) {\n this.valueBlock.value = value;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n this.fromBuffer(this.valueBlock.valueHexView);\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : \'${this.valueBlock.value}\'`;\n }\n};\n__name(BaseStringBlock, "BaseStringBlock");\nBaseStringBlock.NAME = "BaseStringBlock";\nvar LocalPrimitiveValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ isHexOnly = true, ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = isHexOnly;\n }\n};\n__name(LocalPrimitiveValueBlock, "LocalPrimitiveValueBlock");\nLocalPrimitiveValueBlock.NAME = "PrimitiveValueBlock";\nvar _a$w;\nvar Primitive = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalPrimitiveValueBlock);\n this.idBlock.isConstructed = false;\n }\n};\n__name(Primitive, "Primitive");\n_a$w = Primitive;\n(() => {\n typeStore.Primitive = _a$w;\n})();\nPrimitive.NAME = "PRIMITIVE";\nfunction localChangeType(inputObject, newType) {\n if (inputObject instanceof newType) {\n return inputObject;\n }\n const newObject = new newType();\n newObject.idBlock = inputObject.idBlock;\n newObject.lenBlock = inputObject.lenBlock;\n newObject.warnings = inputObject.warnings;\n newObject.valueBeforeDecodeView = inputObject.valueBeforeDecodeView;\n return newObject;\n}\n__name(localChangeType, "localChangeType");\nfunction localFromBER(inputBuffer, inputOffset = 0, inputLength = inputBuffer.length) {\n const incomingOffset = inputOffset;\n let returnObject = new BaseBlock({}, ValueBlock);\n const baseBlock = new LocalBaseBlock();\n if (!checkBufferParams(baseBlock, inputBuffer, inputOffset, inputLength)) {\n returnObject.error = baseBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n const intBuffer = inputBuffer.subarray(inputOffset, inputOffset + inputLength);\n if (!intBuffer.length) {\n returnObject.error = "Zero buffer length";\n return {\n offset: -1,\n result: returnObject\n };\n }\n let resultOffset = returnObject.idBlock.fromBER(inputBuffer, inputOffset, inputLength);\n if (returnObject.idBlock.warnings.length) {\n returnObject.warnings.concat(returnObject.idBlock.warnings);\n }\n if (resultOffset === -1) {\n returnObject.error = returnObject.idBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n inputOffset = resultOffset;\n inputLength -= returnObject.idBlock.blockLength;\n resultOffset = returnObject.lenBlock.fromBER(inputBuffer, inputOffset, inputLength);\n if (returnObject.lenBlock.warnings.length) {\n returnObject.warnings.concat(returnObject.lenBlock.warnings);\n }\n if (resultOffset === -1) {\n returnObject.error = returnObject.lenBlock.error;\n return {\n offset: -1,\n result: returnObject\n };\n }\n inputOffset = resultOffset;\n inputLength -= returnObject.lenBlock.blockLength;\n if (!returnObject.idBlock.isConstructed && returnObject.lenBlock.isIndefiniteForm) {\n returnObject.error = "Indefinite length form used for primitive encoding form";\n return {\n offset: -1,\n result: returnObject\n };\n }\n let newASN1Type = BaseBlock;\n switch (returnObject.idBlock.tagClass) {\n case 1:\n if (returnObject.idBlock.tagNumber >= 37 && returnObject.idBlock.isHexOnly === false) {\n returnObject.error = "UNIVERSAL 37 and upper tags are reserved by ASN.1 standard";\n return {\n offset: -1,\n result: returnObject\n };\n }\n switch (returnObject.idBlock.tagNumber) {\n case 0:\n if (returnObject.idBlock.isConstructed && returnObject.lenBlock.length > 0) {\n returnObject.error = "Type [UNIVERSAL 0] is reserved";\n return {\n offset: -1,\n result: returnObject\n };\n }\n newASN1Type = typeStore.EndOfContent;\n break;\n case 1:\n newASN1Type = typeStore.Boolean;\n break;\n case 2:\n newASN1Type = typeStore.Integer;\n break;\n case 3:\n newASN1Type = typeStore.BitString;\n break;\n case 4:\n newASN1Type = typeStore.OctetString;\n break;\n case 5:\n newASN1Type = typeStore.Null;\n break;\n case 6:\n newASN1Type = typeStore.ObjectIdentifier;\n break;\n case 10:\n newASN1Type = typeStore.Enumerated;\n break;\n case 12:\n newASN1Type = typeStore.Utf8String;\n break;\n case 13:\n newASN1Type = typeStore.RelativeObjectIdentifier;\n break;\n case 14:\n newASN1Type = typeStore.TIME;\n break;\n case 15:\n returnObject.error = "[UNIVERSAL 15] is reserved by ASN.1 standard";\n return {\n offset: -1,\n result: returnObject\n };\n case 16:\n newASN1Type = typeStore.Sequence;\n break;\n case 17:\n newASN1Type = typeStore.Set;\n break;\n case 18:\n newASN1Type = typeStore.NumericString;\n break;\n case 19:\n newASN1Type = typeStore.PrintableString;\n break;\n case 20:\n newASN1Type = typeStore.TeletexString;\n break;\n case 21:\n newASN1Type = typeStore.VideotexString;\n break;\n case 22:\n newASN1Type = typeStore.IA5String;\n break;\n case 23:\n newASN1Type = typeStore.UTCTime;\n break;\n case 24:\n newASN1Type = typeStore.GeneralizedTime;\n break;\n case 25:\n newASN1Type = typeStore.GraphicString;\n break;\n case 26:\n newASN1Type = typeStore.VisibleString;\n break;\n case 27:\n newASN1Type = typeStore.GeneralString;\n break;\n case 28:\n newASN1Type = typeStore.UniversalString;\n break;\n case 29:\n newASN1Type = typeStore.CharacterString;\n break;\n case 30:\n newASN1Type = typeStore.BmpString;\n break;\n case 31:\n newASN1Type = typeStore.DATE;\n break;\n case 32:\n newASN1Type = typeStore.TimeOfDay;\n break;\n case 33:\n newASN1Type = typeStore.DateTime;\n break;\n case 34:\n newASN1Type = typeStore.Duration;\n break;\n default: {\n const newObject = returnObject.idBlock.isConstructed ? new typeStore.Constructed() : new typeStore.Primitive();\n newObject.idBlock = returnObject.idBlock;\n newObject.lenBlock = returnObject.lenBlock;\n newObject.warnings = returnObject.warnings;\n returnObject = newObject;\n }\n }\n break;\n case 2:\n case 3:\n case 4:\n default: {\n newASN1Type = returnObject.idBlock.isConstructed ? typeStore.Constructed : typeStore.Primitive;\n }\n }\n returnObject = localChangeType(returnObject, newASN1Type);\n resultOffset = returnObject.fromBER(inputBuffer, inputOffset, returnObject.lenBlock.isIndefiniteForm ? inputLength : returnObject.lenBlock.length);\n returnObject.valueBeforeDecodeView = inputBuffer.subarray(incomingOffset, incomingOffset + returnObject.blockLength);\n return {\n offset: resultOffset,\n result: returnObject\n };\n}\n__name(localFromBER, "localFromBER");\nfunction fromBER(inputBuffer) {\n if (!inputBuffer.byteLength) {\n const result = new BaseBlock({}, ValueBlock);\n result.error = "Input buffer has zero length";\n return {\n offset: -1,\n result\n };\n }\n return localFromBER(BufferSourceConverter.toUint8Array(inputBuffer).slice(), 0, inputBuffer.byteLength);\n}\n__name(fromBER, "fromBER");\nfunction checkLen(indefiniteLength, length) {\n if (indefiniteLength) {\n return 1;\n }\n return length;\n}\n__name(checkLen, "checkLen");\nvar LocalConstructedValueBlock = class extends ValueBlock {\n constructor({ value = [], isIndefiniteForm = false, ...parameters } = {}) {\n super(parameters);\n this.value = value;\n this.isIndefiniteForm = isIndefiniteForm;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const view = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, view, inputOffset, inputLength)) {\n return -1;\n }\n this.valueBeforeDecodeView = view.subarray(inputOffset, inputOffset + inputLength);\n if (this.valueBeforeDecodeView.length === 0) {\n this.warnings.push("Zero buffer length");\n return inputOffset;\n }\n let currentOffset = inputOffset;\n while (checkLen(this.isIndefiniteForm, inputLength) > 0) {\n const returnObject = localFromBER(view, currentOffset, inputLength);\n if (returnObject.offset === -1) {\n this.error = returnObject.result.error;\n this.warnings.concat(returnObject.result.warnings);\n return -1;\n }\n currentOffset = returnObject.offset;\n this.blockLength += returnObject.result.blockLength;\n inputLength -= returnObject.result.blockLength;\n this.value.push(returnObject.result);\n if (this.isIndefiniteForm && returnObject.result.constructor.NAME === END_OF_CONTENT_NAME) {\n break;\n }\n }\n if (this.isIndefiniteForm) {\n if (this.value[this.value.length - 1].constructor.NAME === END_OF_CONTENT_NAME) {\n this.value.pop();\n } else {\n this.warnings.push("No EndOfContent block encoded");\n }\n }\n return currentOffset;\n }\n toBER(sizeOnly, writer) {\n const _writer = writer || new ViewWriter();\n for (let i = 0; i < this.value.length; i++) {\n this.value[i].toBER(sizeOnly, _writer);\n }\n if (!writer) {\n return _writer.final();\n }\n return EMPTY_BUFFER;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n isIndefiniteForm: this.isIndefiniteForm,\n value: []\n };\n for (const value of this.value) {\n object.value.push(value.toJSON());\n }\n return object;\n }\n};\n__name(LocalConstructedValueBlock, "LocalConstructedValueBlock");\nLocalConstructedValueBlock.NAME = "ConstructedValueBlock";\nvar _a$v;\nvar Constructed = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalConstructedValueBlock);\n this.idBlock.isConstructed = true;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n const resultOffset = this.valueBlock.fromBER(inputBuffer, inputOffset, this.lenBlock.isIndefiniteForm ? inputLength : this.lenBlock.length);\n if (resultOffset === -1) {\n this.error = this.valueBlock.error;\n return resultOffset;\n }\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n if (!this.valueBlock.error.length)\n this.blockLength += this.valueBlock.blockLength;\n return resultOffset;\n }\n onAsciiEncoding() {\n const values = [];\n for (const value of this.valueBlock.value) {\n values.push(value.toString("ascii").split("\\n").map((o) => ` ${o}`).join("\\n"));\n }\n const blockName = this.idBlock.tagClass === 3 ? `[${this.idBlock.tagNumber}]` : this.constructor.NAME;\n return values.length ? `${blockName} :\n${values.join("\\n")}` : `${blockName} :`;\n }\n};\n__name(Constructed, "Constructed");\n_a$v = Constructed;\n(() => {\n typeStore.Constructed = _a$v;\n})();\nConstructed.NAME = "CONSTRUCTED";\nvar LocalEndOfContentValueBlock = class extends ValueBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n return inputOffset;\n }\n toBER(sizeOnly) {\n return EMPTY_BUFFER;\n }\n};\n__name(LocalEndOfContentValueBlock, "LocalEndOfContentValueBlock");\nLocalEndOfContentValueBlock.override = "EndOfContentValueBlock";\nvar _a$u;\nvar EndOfContent = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalEndOfContentValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 0;\n }\n};\n__name(EndOfContent, "EndOfContent");\n_a$u = EndOfContent;\n(() => {\n typeStore.EndOfContent = _a$u;\n})();\nEndOfContent.NAME = END_OF_CONTENT_NAME;\nvar _a$t;\nvar Null = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, ValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 5;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (this.lenBlock.length > 0)\n this.warnings.push("Non-zero length of value block for Null type");\n if (!this.idBlock.error.length)\n this.blockLength += this.idBlock.blockLength;\n if (!this.lenBlock.error.length)\n this.blockLength += this.lenBlock.blockLength;\n this.blockLength += inputLength;\n if (inputOffset + inputLength > inputBuffer.byteLength) {\n this.error = "End of input reached before message was fully decoded (inconsistent offset and length values)";\n return -1;\n }\n return inputOffset + inputLength;\n }\n toBER(sizeOnly, writer) {\n const retBuf = new ArrayBuffer(2);\n if (!sizeOnly) {\n const retView = new Uint8Array(retBuf);\n retView[0] = 5;\n retView[1] = 0;\n }\n if (writer) {\n writer.write(retBuf);\n }\n return retBuf;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME}`;\n }\n};\n__name(Null, "Null");\n_a$t = Null;\n(() => {\n typeStore.Null = _a$t;\n})();\nNull.NAME = "NULL";\nvar LocalBooleanValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ value, ...parameters } = {}) {\n super(parameters);\n if (parameters.valueHex) {\n this.valueHexView = BufferSourceConverter.toUint8Array(parameters.valueHex);\n } else {\n this.valueHexView = new Uint8Array(1);\n }\n if (value) {\n this.value = value;\n }\n }\n get value() {\n for (const octet of this.valueHexView) {\n if (octet > 0) {\n return true;\n }\n }\n return false;\n }\n set value(value) {\n this.valueHexView[0] = value ? 255 : 0;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n this.valueHexView = inputView.subarray(inputOffset, inputOffset + inputLength);\n if (inputLength > 1)\n this.warnings.push("Boolean value encoded in more then 1 octet");\n this.isHexOnly = true;\n utilDecodeTC.call(this);\n this.blockLength = inputLength;\n return inputOffset + inputLength;\n }\n toBER() {\n return this.valueHexView.slice();\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.value\n };\n }\n};\n__name(LocalBooleanValueBlock, "LocalBooleanValueBlock");\nLocalBooleanValueBlock.NAME = "BooleanValueBlock";\nvar _a$s;\nvar Boolean = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalBooleanValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 1;\n }\n getValue() {\n return this.valueBlock.value;\n }\n setValue(value) {\n this.valueBlock.value = value;\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.getValue}`;\n }\n};\n__name(Boolean, "Boolean");\n_a$s = Boolean;\n(() => {\n typeStore.Boolean = _a$s;\n})();\nBoolean.NAME = "BOOLEAN";\nvar LocalOctetStringValueBlock = class extends HexBlock(LocalConstructedValueBlock) {\n constructor({ isConstructed = false, ...parameters } = {}) {\n super(parameters);\n this.isConstructed = isConstructed;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = 0;\n if (this.isConstructed) {\n this.isHexOnly = false;\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1)\n return resultOffset;\n for (let i = 0; i < this.value.length; i++) {\n const currentBlockName = this.value[i].constructor.NAME;\n if (currentBlockName === END_OF_CONTENT_NAME) {\n if (this.isIndefiniteForm)\n break;\n else {\n this.error = "EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only";\n return -1;\n }\n }\n if (currentBlockName !== OCTET_STRING_NAME) {\n this.error = "OCTET STRING may consists of OCTET STRINGs only";\n return -1;\n }\n }\n } else {\n this.isHexOnly = true;\n resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\n this.blockLength = inputLength;\n }\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n if (this.isConstructed)\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\n return sizeOnly ? new ArrayBuffer(this.valueHexView.byteLength) : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalOctetStringValueBlock, "LocalOctetStringValueBlock");\nLocalOctetStringValueBlock.NAME = "OctetStringValueBlock";\nvar _a$r;\nvar OctetString = class extends BaseBlock {\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\n var _b, _c;\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length);\n super({\n idBlock: {\n isConstructed: parameters.isConstructed,\n ...idBlock\n },\n lenBlock: {\n ...lenBlock,\n isIndefiniteForm: !!parameters.isIndefiniteForm\n },\n ...parameters\n }, LocalOctetStringValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 4;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n if (inputLength === 0) {\n if (this.idBlock.error.length === 0)\n this.blockLength += this.idBlock.blockLength;\n if (this.lenBlock.error.length === 0)\n this.blockLength += this.lenBlock.blockLength;\n return inputOffset;\n }\n if (!this.valueBlock.isConstructed) {\n const view = inputBuffer instanceof ArrayBuffer ? new Uint8Array(inputBuffer) : inputBuffer;\n const buf = view.subarray(inputOffset, inputOffset + inputLength);\n try {\n if (buf.byteLength) {\n const asn = localFromBER(buf, 0, buf.byteLength);\n if (asn.offset !== -1 && asn.offset === inputLength) {\n this.valueBlock.value = [asn.result];\n }\n }\n } catch (e) {\n }\n }\n return super.fromBER(inputBuffer, inputOffset, inputLength);\n }\n onAsciiEncoding() {\n if (this.valueBlock.isConstructed || this.valueBlock.value && this.valueBlock.value.length) {\n return Constructed.prototype.onAsciiEncoding.call(this);\n }\n return `${this.constructor.NAME} : ${Convert.ToHex(this.valueBlock.valueHexView)}`;\n }\n getValue() {\n if (!this.idBlock.isConstructed) {\n return this.valueBlock.valueHexView.slice().buffer;\n }\n const array = [];\n for (const content of this.valueBlock.value) {\n if (content instanceof OctetString) {\n array.push(content.valueBlock.valueHexView);\n }\n }\n return BufferSourceConverter.concat(array);\n }\n};\n__name(OctetString, "OctetString");\n_a$r = OctetString;\n(() => {\n typeStore.OctetString = _a$r;\n})();\nOctetString.NAME = OCTET_STRING_NAME;\nvar LocalBitStringValueBlock = class extends HexBlock(LocalConstructedValueBlock) {\n constructor({ unusedBits = 0, isConstructed = false, ...parameters } = {}) {\n super(parameters);\n this.unusedBits = unusedBits;\n this.isConstructed = isConstructed;\n this.blockLength = this.valueHexView.byteLength;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (!inputLength) {\n return inputOffset;\n }\n let resultOffset = -1;\n if (this.isConstructed) {\n resultOffset = LocalConstructedValueBlock.prototype.fromBER.call(this, inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1)\n return resultOffset;\n for (const value of this.value) {\n const currentBlockName = value.constructor.NAME;\n if (currentBlockName === END_OF_CONTENT_NAME) {\n if (this.isIndefiniteForm)\n break;\n else {\n this.error = "EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only";\n return -1;\n }\n }\n if (currentBlockName !== BIT_STRING_NAME) {\n this.error = "BIT STRING may consists of BIT STRINGs only";\n return -1;\n }\n const valueBlock = value.valueBlock;\n if (this.unusedBits > 0 && valueBlock.unusedBits > 0) {\n this.error = \'Using of "unused bits" inside constructive BIT STRING allowed for least one only\';\n return -1;\n }\n this.unusedBits = valueBlock.unusedBits;\n }\n return resultOffset;\n }\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.unusedBits = intBuffer[0];\n if (this.unusedBits > 7) {\n this.error = "Unused bits for BitString must be in range 0-7";\n return -1;\n }\n if (!this.unusedBits) {\n const buf = intBuffer.subarray(1);\n try {\n if (buf.byteLength) {\n const asn = localFromBER(buf, 0, buf.byteLength);\n if (asn.offset !== -1 && asn.offset === inputLength - 1) {\n this.value = [asn.result];\n }\n }\n } catch (e) {\n }\n }\n this.valueHexView = intBuffer.subarray(1);\n this.blockLength = intBuffer.length;\n return inputOffset + inputLength;\n }\n toBER(sizeOnly, writer) {\n if (this.isConstructed) {\n return LocalConstructedValueBlock.prototype.toBER.call(this, sizeOnly, writer);\n }\n if (sizeOnly) {\n return new ArrayBuffer(this.valueHexView.byteLength + 1);\n }\n if (!this.valueHexView.byteLength) {\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(this.valueHexView.length + 1);\n retView[0] = this.unusedBits;\n retView.set(this.valueHexView, 1);\n return retView.buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n unusedBits: this.unusedBits,\n isConstructed: this.isConstructed\n };\n }\n};\n__name(LocalBitStringValueBlock, "LocalBitStringValueBlock");\nLocalBitStringValueBlock.NAME = "BitStringValueBlock";\nvar _a$q;\nvar BitString = class extends BaseBlock {\n constructor({ idBlock = {}, lenBlock = {}, ...parameters } = {}) {\n var _b, _c;\n (_b = parameters.isConstructed) !== null && _b !== void 0 ? _b : parameters.isConstructed = !!((_c = parameters.value) === null || _c === void 0 ? void 0 : _c.length);\n super({\n idBlock: {\n isConstructed: parameters.isConstructed,\n ...idBlock\n },\n lenBlock: {\n ...lenBlock,\n isIndefiniteForm: !!parameters.isIndefiniteForm\n },\n ...parameters\n }, LocalBitStringValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 3;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n this.valueBlock.isConstructed = this.idBlock.isConstructed;\n this.valueBlock.isIndefiniteForm = this.lenBlock.isIndefiniteForm;\n return super.fromBER(inputBuffer, inputOffset, inputLength);\n }\n onAsciiEncoding() {\n if (this.valueBlock.isConstructed || this.valueBlock.value && this.valueBlock.value.length) {\n return Constructed.prototype.onAsciiEncoding.call(this);\n } else {\n const bits = [];\n const valueHex = this.valueBlock.valueHexView;\n for (const byte of valueHex) {\n bits.push(byte.toString(2).padStart(8, "0"));\n }\n const bitsStr = bits.join("");\n return `${this.constructor.NAME} : ${bitsStr.substring(0, bitsStr.length - this.valueBlock.unusedBits)}`;\n }\n }\n};\n__name(BitString, "BitString");\n_a$q = BitString;\n(() => {\n typeStore.BitString = _a$q;\n})();\nBitString.NAME = BIT_STRING_NAME;\nvar _a$p;\nfunction viewAdd(first, second) {\n const c = new Uint8Array([0]);\n const firstView = new Uint8Array(first);\n const secondView = new Uint8Array(second);\n let firstViewCopy = firstView.slice(0);\n const firstViewCopyLength = firstViewCopy.length - 1;\n const secondViewCopy = secondView.slice(0);\n const secondViewCopyLength = secondViewCopy.length - 1;\n let value = 0;\n const max = secondViewCopyLength < firstViewCopyLength ? firstViewCopyLength : secondViewCopyLength;\n let counter = 0;\n for (let i = max; i >= 0; i--, counter++) {\n switch (true) {\n case counter < secondViewCopy.length:\n value = firstViewCopy[firstViewCopyLength - counter] + secondViewCopy[secondViewCopyLength - counter] + c[0];\n break;\n default:\n value = firstViewCopy[firstViewCopyLength - counter] + c[0];\n }\n c[0] = value / 10;\n switch (true) {\n case counter >= firstViewCopy.length:\n firstViewCopy = utilConcatView(new Uint8Array([value % 10]), firstViewCopy);\n break;\n default:\n firstViewCopy[firstViewCopyLength - counter] = value % 10;\n }\n }\n if (c[0] > 0)\n firstViewCopy = utilConcatView(c, firstViewCopy);\n return firstViewCopy;\n}\n__name(viewAdd, "viewAdd");\nfunction power2(n) {\n if (n >= powers2.length) {\n for (let p = powers2.length; p <= n; p++) {\n const c = new Uint8Array([0]);\n let digits = powers2[p - 1].slice(0);\n for (let i = digits.length - 1; i >= 0; i--) {\n const newValue = new Uint8Array([(digits[i] << 1) + c[0]]);\n c[0] = newValue[0] / 10;\n digits[i] = newValue[0] % 10;\n }\n if (c[0] > 0)\n digits = utilConcatView(c, digits);\n powers2.push(digits);\n }\n }\n return powers2[n];\n}\n__name(power2, "power2");\nfunction viewSub(first, second) {\n let b = 0;\n const firstView = new Uint8Array(first);\n const secondView = new Uint8Array(second);\n const firstViewCopy = firstView.slice(0);\n const firstViewCopyLength = firstViewCopy.length - 1;\n const secondViewCopy = secondView.slice(0);\n const secondViewCopyLength = secondViewCopy.length - 1;\n let value;\n let counter = 0;\n for (let i = secondViewCopyLength; i >= 0; i--, counter++) {\n value = firstViewCopy[firstViewCopyLength - counter] - secondViewCopy[secondViewCopyLength - counter] - b;\n switch (true) {\n case value < 0:\n b = 1;\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\n break;\n default:\n b = 0;\n firstViewCopy[firstViewCopyLength - counter] = value;\n }\n }\n if (b > 0) {\n for (let i = firstViewCopyLength - secondViewCopyLength + 1; i >= 0; i--, counter++) {\n value = firstViewCopy[firstViewCopyLength - counter] - b;\n if (value < 0) {\n b = 1;\n firstViewCopy[firstViewCopyLength - counter] = value + 10;\n } else {\n b = 0;\n firstViewCopy[firstViewCopyLength - counter] = value;\n break;\n }\n }\n }\n return firstViewCopy.slice();\n}\n__name(viewSub, "viewSub");\nvar LocalIntegerValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ value, ...parameters } = {}) {\n super(parameters);\n this._valueDec = 0;\n if (parameters.valueHex) {\n this.setValueHex();\n }\n if (value !== void 0) {\n this.valueDec = value;\n }\n }\n setValueHex() {\n if (this.valueHexView.length >= 4) {\n this.warnings.push("Too big Integer for decoding, hex only");\n this.isHexOnly = true;\n this._valueDec = 0;\n } else {\n this.isHexOnly = false;\n if (this.valueHexView.length > 0) {\n this._valueDec = utilDecodeTC.call(this);\n }\n }\n }\n set valueDec(v) {\n this._valueDec = v;\n this.isHexOnly = false;\n this.valueHexView = new Uint8Array(utilEncodeTC(v));\n }\n get valueDec() {\n return this._valueDec;\n }\n fromDER(inputBuffer, inputOffset, inputLength, expectedLength = 0) {\n const offset = this.fromBER(inputBuffer, inputOffset, inputLength);\n if (offset === -1)\n return offset;\n const view = this.valueHexView;\n if (view[0] === 0 && (view[1] & 128) !== 0) {\n this.valueHexView = view.subarray(1);\n } else {\n if (expectedLength !== 0) {\n if (view.length < expectedLength) {\n if (expectedLength - view.length > 1)\n expectedLength = view.length + 1;\n this.valueHexView = view.subarray(expectedLength - view.length);\n }\n }\n }\n return offset;\n }\n toDER(sizeOnly = false) {\n const view = this.valueHexView;\n switch (true) {\n case (view[0] & 128) !== 0:\n {\n const updatedView = new Uint8Array(this.valueHexView.length + 1);\n updatedView[0] = 0;\n updatedView.set(view, 1);\n this.valueHexView = updatedView;\n }\n break;\n case (view[0] === 0 && (view[1] & 128) === 0):\n {\n this.valueHexView = this.valueHexView.subarray(1);\n }\n break;\n }\n return this.toBER(sizeOnly);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const resultOffset = super.fromBER(inputBuffer, inputOffset, inputLength);\n if (resultOffset === -1) {\n return resultOffset;\n }\n this.setValueHex();\n return resultOffset;\n }\n toBER(sizeOnly) {\n return sizeOnly ? new ArrayBuffer(this.valueHexView.length) : this.valueHexView.slice().buffer;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec\n };\n }\n toString() {\n const firstBit = this.valueHexView.length * 8 - 1;\n let digits = new Uint8Array(this.valueHexView.length * 8 / 3);\n let bitNumber = 0;\n let currentByte;\n const asn1View = this.valueHexView;\n let result = "";\n let flag = false;\n for (let byteNumber = asn1View.byteLength - 1; byteNumber >= 0; byteNumber--) {\n currentByte = asn1View[byteNumber];\n for (let i = 0; i < 8; i++) {\n if ((currentByte & 1) === 1) {\n switch (bitNumber) {\n case firstBit:\n digits = viewSub(power2(bitNumber), digits);\n result = "-";\n break;\n default:\n digits = viewAdd(digits, power2(bitNumber));\n }\n }\n bitNumber++;\n currentByte >>= 1;\n }\n }\n for (let i = 0; i < digits.length; i++) {\n if (digits[i])\n flag = true;\n if (flag)\n result += digitsString.charAt(digits[i]);\n }\n if (flag === false)\n result += digitsString.charAt(0);\n return result;\n }\n};\n__name(LocalIntegerValueBlock, "LocalIntegerValueBlock");\n_a$p = LocalIntegerValueBlock;\nLocalIntegerValueBlock.NAME = "IntegerValueBlock";\n(() => {\n Object.defineProperty(_a$p.prototype, "valueHex", {\n set: function(v) {\n this.valueHexView = new Uint8Array(v);\n this.setValueHex();\n },\n get: function() {\n return this.valueHexView.slice().buffer;\n }\n });\n})();\nvar _a$o;\nvar Integer = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalIntegerValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 2;\n }\n toBigInt() {\n assertBigInt();\n return BigInt(this.valueBlock.toString());\n }\n static fromBigInt(value) {\n assertBigInt();\n const bigIntValue = BigInt(value);\n const writer = new ViewWriter();\n const hex = bigIntValue.toString(16).replace(/^-/, "");\n const view = new Uint8Array(Convert.FromHex(hex));\n if (bigIntValue < 0) {\n const first = new Uint8Array(view.length + (view[0] & 128 ? 1 : 0));\n first[0] |= 128;\n const firstInt = BigInt(`0x${Convert.ToHex(first)}`);\n const secondInt = firstInt + bigIntValue;\n const second = BufferSourceConverter.toUint8Array(Convert.FromHex(secondInt.toString(16)));\n second[0] |= 128;\n writer.write(second);\n } else {\n if (view[0] & 128) {\n writer.write(new Uint8Array([0]));\n }\n writer.write(view);\n }\n const res = new Integer({\n valueHex: writer.final()\n });\n return res;\n }\n convertToDER() {\n const integer = new Integer({ valueHex: this.valueBlock.valueHexView });\n integer.valueBlock.toDER();\n return integer;\n }\n convertFromDER() {\n return new Integer({\n valueHex: this.valueBlock.valueHexView[0] === 0 ? this.valueBlock.valueHexView.subarray(1) : this.valueBlock.valueHexView\n });\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString()}`;\n }\n};\n__name(Integer, "Integer");\n_a$o = Integer;\n(() => {\n typeStore.Integer = _a$o;\n})();\nInteger.NAME = "INTEGER";\nvar _a$n;\nvar Enumerated = class extends Integer {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 10;\n }\n};\n__name(Enumerated, "Enumerated");\n_a$n = Enumerated;\n(() => {\n typeStore.Enumerated = _a$n;\n})();\nEnumerated.NAME = "ENUMERATED";\nvar LocalSidValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ valueDec = -1, isFirstSid = false, ...parameters } = {}) {\n super(parameters);\n this.valueDec = valueDec;\n this.isFirstSid = isFirstSid;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (!inputLength) {\n return inputOffset;\n }\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength)) {\n return -1;\n }\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.valueHexView = new Uint8Array(inputLength);\n for (let i = 0; i < inputLength; i++) {\n this.valueHexView[i] = intBuffer[i] & 127;\n this.blockLength++;\n if ((intBuffer[i] & 128) === 0)\n break;\n }\n const tempView = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength; i++) {\n tempView[i] = this.valueHexView[i];\n }\n this.valueHexView = tempView;\n if ((intBuffer[this.blockLength - 1] & 128) !== 0) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (this.valueHexView[0] === 0)\n this.warnings.push("Needlessly long format of SID encoding");\n if (this.blockLength <= 8)\n this.valueDec = utilFromBase(this.valueHexView, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Too big SID for decoding, hex only");\n }\n return inputOffset + this.blockLength;\n }\n set valueBigInt(value) {\n assertBigInt();\n let bits = BigInt(value).toString(2);\n while (bits.length % 7) {\n bits = "0" + bits;\n }\n const bytes = new Uint8Array(bits.length / 7);\n for (let i = 0; i < bytes.length; i++) {\n bytes[i] = parseInt(bits.slice(i * 7, i * 7 + 7), 2) + (i + 1 < bytes.length ? 128 : 0);\n }\n this.fromBER(bytes.buffer, 0, bytes.length);\n }\n toBER(sizeOnly) {\n if (this.isHexOnly) {\n if (sizeOnly)\n return new ArrayBuffer(this.valueHexView.byteLength);\n const curView = this.valueHexView;\n const retView2 = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength - 1; i++)\n retView2[i] = curView[i] | 128;\n retView2[this.blockLength - 1] = curView[this.blockLength - 1];\n return retView2.buffer;\n }\n const encodedBuf = utilToBase(this.valueDec, 7);\n if (encodedBuf.byteLength === 0) {\n this.error = "Error during encoding SID value";\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(encodedBuf.byteLength);\n if (!sizeOnly) {\n const encodedView = new Uint8Array(encodedBuf);\n const len = encodedBuf.byteLength - 1;\n for (let i = 0; i < len; i++)\n retView[i] = encodedView[i] | 128;\n retView[len] = encodedView[len];\n }\n return retView;\n }\n toString() {\n let result = "";\n if (this.isHexOnly)\n result = Convert.ToHex(this.valueHexView);\n else {\n if (this.isFirstSid) {\n let sidValue = this.valueDec;\n if (this.valueDec <= 39)\n result = "0.";\n else {\n if (this.valueDec <= 79) {\n result = "1.";\n sidValue -= 40;\n } else {\n result = "2.";\n sidValue -= 80;\n }\n }\n result += sidValue.toString();\n } else\n result = this.valueDec.toString();\n }\n return result;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec,\n isFirstSid: this.isFirstSid\n };\n }\n};\n__name(LocalSidValueBlock, "LocalSidValueBlock");\nLocalSidValueBlock.NAME = "sidBlock";\nvar LocalObjectIdentifierValueBlock = class extends ValueBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\n super(parameters);\n this.value = [];\n if (value) {\n this.fromString(value);\n }\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = inputOffset;\n while (inputLength > 0) {\n const sidBlock = new LocalSidValueBlock();\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\n if (resultOffset === -1) {\n this.blockLength = 0;\n this.error = sidBlock.error;\n return resultOffset;\n }\n if (this.value.length === 0)\n sidBlock.isFirstSid = true;\n this.blockLength += sidBlock.blockLength;\n inputLength -= sidBlock.blockLength;\n this.value.push(sidBlock);\n }\n return resultOffset;\n }\n toBER(sizeOnly) {\n const retBuffers = [];\n for (let i = 0; i < this.value.length; i++) {\n const valueBuf = this.value[i].toBER(sizeOnly);\n if (valueBuf.byteLength === 0) {\n this.error = this.value[i].error;\n return EMPTY_BUFFER;\n }\n retBuffers.push(valueBuf);\n }\n return concat(retBuffers);\n }\n fromString(string) {\n this.value = [];\n let pos1 = 0;\n let pos2 = 0;\n let sid = "";\n let flag = false;\n do {\n pos2 = string.indexOf(".", pos1);\n if (pos2 === -1)\n sid = string.substring(pos1);\n else\n sid = string.substring(pos1, pos2);\n pos1 = pos2 + 1;\n if (flag) {\n const sidBlock = this.value[0];\n let plus = 0;\n switch (sidBlock.valueDec) {\n case 0:\n break;\n case 1:\n plus = 40;\n break;\n case 2:\n plus = 80;\n break;\n default:\n this.value = [];\n return;\n }\n const parsedSID = parseInt(sid, 10);\n if (isNaN(parsedSID))\n return;\n sidBlock.valueDec = parsedSID + plus;\n flag = false;\n } else {\n const sidBlock = new LocalSidValueBlock();\n if (sid > Number.MAX_SAFE_INTEGER) {\n assertBigInt();\n const sidValue = BigInt(sid);\n sidBlock.valueBigInt = sidValue;\n } else {\n sidBlock.valueDec = parseInt(sid, 10);\n if (isNaN(sidBlock.valueDec))\n return;\n }\n if (!this.value.length) {\n sidBlock.isFirstSid = true;\n flag = true;\n }\n this.value.push(sidBlock);\n }\n } while (pos2 !== -1);\n }\n toString() {\n let result = "";\n let isHexOnly = false;\n for (let i = 0; i < this.value.length; i++) {\n isHexOnly = this.value[i].isHexOnly;\n let sidStr = this.value[i].toString();\n if (i !== 0)\n result = `${result}.`;\n if (isHexOnly) {\n sidStr = `{${sidStr}}`;\n if (this.value[i].isFirstSid)\n result = `2.{${sidStr} - 80}`;\n else\n result += sidStr;\n } else\n result += sidStr;\n }\n return result;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n value: this.toString(),\n sidArray: []\n };\n for (let i = 0; i < this.value.length; i++) {\n object.sidArray.push(this.value[i].toJSON());\n }\n return object;\n }\n};\n__name(LocalObjectIdentifierValueBlock, "LocalObjectIdentifierValueBlock");\nLocalObjectIdentifierValueBlock.NAME = "ObjectIdentifierValueBlock";\nvar _a$m;\nvar ObjectIdentifier = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalObjectIdentifierValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 6;\n }\n getValue() {\n return this.valueBlock.toString();\n }\n setValue(value) {\n this.valueBlock.fromString(value);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.getValue()\n };\n }\n};\n__name(ObjectIdentifier, "ObjectIdentifier");\n_a$m = ObjectIdentifier;\n(() => {\n typeStore.ObjectIdentifier = _a$m;\n})();\nObjectIdentifier.NAME = "OBJECT IDENTIFIER";\nvar LocalRelativeSidValueBlock = class extends HexBlock(LocalBaseBlock) {\n constructor({ valueDec = 0, ...parameters } = {}) {\n super(parameters);\n this.valueDec = valueDec;\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n if (inputLength === 0)\n return inputOffset;\n const inputView = BufferSourceConverter.toUint8Array(inputBuffer);\n if (!checkBufferParams(this, inputView, inputOffset, inputLength))\n return -1;\n const intBuffer = inputView.subarray(inputOffset, inputOffset + inputLength);\n this.valueHexView = new Uint8Array(inputLength);\n for (let i = 0; i < inputLength; i++) {\n this.valueHexView[i] = intBuffer[i] & 127;\n this.blockLength++;\n if ((intBuffer[i] & 128) === 0)\n break;\n }\n const tempView = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength; i++)\n tempView[i] = this.valueHexView[i];\n this.valueHexView = tempView;\n if ((intBuffer[this.blockLength - 1] & 128) !== 0) {\n this.error = "End of input reached before message was fully decoded";\n return -1;\n }\n if (this.valueHexView[0] === 0)\n this.warnings.push("Needlessly long format of SID encoding");\n if (this.blockLength <= 8)\n this.valueDec = utilFromBase(this.valueHexView, 7);\n else {\n this.isHexOnly = true;\n this.warnings.push("Too big SID for decoding, hex only");\n }\n return inputOffset + this.blockLength;\n }\n toBER(sizeOnly) {\n if (this.isHexOnly) {\n if (sizeOnly)\n return new ArrayBuffer(this.valueHexView.byteLength);\n const curView = this.valueHexView;\n const retView2 = new Uint8Array(this.blockLength);\n for (let i = 0; i < this.blockLength - 1; i++)\n retView2[i] = curView[i] | 128;\n retView2[this.blockLength - 1] = curView[this.blockLength - 1];\n return retView2.buffer;\n }\n const encodedBuf = utilToBase(this.valueDec, 7);\n if (encodedBuf.byteLength === 0) {\n this.error = "Error during encoding SID value";\n return EMPTY_BUFFER;\n }\n const retView = new Uint8Array(encodedBuf.byteLength);\n if (!sizeOnly) {\n const encodedView = new Uint8Array(encodedBuf);\n const len = encodedBuf.byteLength - 1;\n for (let i = 0; i < len; i++)\n retView[i] = encodedView[i] | 128;\n retView[len] = encodedView[len];\n }\n return retView.buffer;\n }\n toString() {\n let result = "";\n if (this.isHexOnly)\n result = Convert.ToHex(this.valueHexView);\n else {\n result = this.valueDec.toString();\n }\n return result;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n valueDec: this.valueDec\n };\n }\n};\n__name(LocalRelativeSidValueBlock, "LocalRelativeSidValueBlock");\nLocalRelativeSidValueBlock.NAME = "relativeSidBlock";\nvar LocalRelativeObjectIdentifierValueBlock = class extends ValueBlock {\n constructor({ value = EMPTY_STRING, ...parameters } = {}) {\n super(parameters);\n this.value = [];\n if (value) {\n this.fromString(value);\n }\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n let resultOffset = inputOffset;\n while (inputLength > 0) {\n const sidBlock = new LocalRelativeSidValueBlock();\n resultOffset = sidBlock.fromBER(inputBuffer, resultOffset, inputLength);\n if (resultOffset === -1) {\n this.blockLength = 0;\n this.error = sidBlock.error;\n return resultOffset;\n }\n this.blockLength += sidBlock.blockLength;\n inputLength -= sidBlock.blockLength;\n this.value.push(sidBlock);\n }\n return resultOffset;\n }\n toBER(sizeOnly, writer) {\n const retBuffers = [];\n for (let i = 0; i < this.value.length; i++) {\n const valueBuf = this.value[i].toBER(sizeOnly);\n if (valueBuf.byteLength === 0) {\n this.error = this.value[i].error;\n return EMPTY_BUFFER;\n }\n retBuffers.push(valueBuf);\n }\n return concat(retBuffers);\n }\n fromString(string) {\n this.value = [];\n let pos1 = 0;\n let pos2 = 0;\n let sid = "";\n do {\n pos2 = string.indexOf(".", pos1);\n if (pos2 === -1)\n sid = string.substring(pos1);\n else\n sid = string.substring(pos1, pos2);\n pos1 = pos2 + 1;\n const sidBlock = new LocalRelativeSidValueBlock();\n sidBlock.valueDec = parseInt(sid, 10);\n if (isNaN(sidBlock.valueDec))\n return true;\n this.value.push(sidBlock);\n } while (pos2 !== -1);\n return true;\n }\n toString() {\n let result = "";\n let isHexOnly = false;\n for (let i = 0; i < this.value.length; i++) {\n isHexOnly = this.value[i].isHexOnly;\n let sidStr = this.value[i].toString();\n if (i !== 0)\n result = `${result}.`;\n if (isHexOnly) {\n sidStr = `{${sidStr}}`;\n result += sidStr;\n } else\n result += sidStr;\n }\n return result;\n }\n toJSON() {\n const object = {\n ...super.toJSON(),\n value: this.toString(),\n sidArray: []\n };\n for (let i = 0; i < this.value.length; i++)\n object.sidArray.push(this.value[i].toJSON());\n return object;\n }\n};\n__name(LocalRelativeObjectIdentifierValueBlock, "LocalRelativeObjectIdentifierValueBlock");\nLocalRelativeObjectIdentifierValueBlock.NAME = "RelativeObjectIdentifierValueBlock";\nvar _a$l;\nvar RelativeObjectIdentifier = class extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalRelativeObjectIdentifierValueBlock);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 13;\n }\n getValue() {\n return this.valueBlock.toString();\n }\n setValue(value) {\n this.valueBlock.fromString(value);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.valueBlock.toString() || "empty"}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.getValue()\n };\n }\n};\n__name(RelativeObjectIdentifier, "RelativeObjectIdentifier");\n_a$l = RelativeObjectIdentifier;\n(() => {\n typeStore.RelativeObjectIdentifier = _a$l;\n})();\nRelativeObjectIdentifier.NAME = "RelativeObjectIdentifier";\nvar _a$k;\nvar Sequence = class extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 16;\n }\n};\n__name(Sequence, "Sequence");\n_a$k = Sequence;\n(() => {\n typeStore.Sequence = _a$k;\n})();\nSequence.NAME = "SEQUENCE";\nvar _a$j;\nvar Set = class extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 17;\n }\n};\n__name(Set, "Set");\n_a$j = Set;\n(() => {\n typeStore.Set = _a$j;\n})();\nSet.NAME = "SET";\nvar LocalStringValueBlock = class extends HexBlock(ValueBlock) {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = true;\n this.value = EMPTY_STRING;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n value: this.value\n };\n }\n};\n__name(LocalStringValueBlock, "LocalStringValueBlock");\nLocalStringValueBlock.NAME = "StringValueBlock";\nvar LocalSimpleStringValueBlock = class extends LocalStringValueBlock {\n};\n__name(LocalSimpleStringValueBlock, "LocalSimpleStringValueBlock");\nLocalSimpleStringValueBlock.NAME = "SimpleStringValueBlock";\nvar LocalSimpleStringBlock = class extends BaseStringBlock {\n constructor({ ...parameters } = {}) {\n super(parameters, LocalSimpleStringValueBlock);\n }\n fromBuffer(inputBuffer) {\n this.valueBlock.value = String.fromCharCode.apply(null, BufferSourceConverter.toUint8Array(inputBuffer));\n }\n fromString(inputString) {\n const strLen = inputString.length;\n const view = this.valueBlock.valueHexView = new Uint8Array(strLen);\n for (let i = 0; i < strLen; i++)\n view[i] = inputString.charCodeAt(i);\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalSimpleStringBlock, "LocalSimpleStringBlock");\nLocalSimpleStringBlock.NAME = "SIMPLE STRING";\nvar LocalUtf8StringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n this.valueBlock.valueHexView = BufferSourceConverter.toUint8Array(inputBuffer);\n try {\n this.valueBlock.value = Convert.ToUtf8String(inputBuffer);\n } catch (ex) {\n this.warnings.push(`Error during "decodeURIComponent": ${ex}, using raw string`);\n this.valueBlock.value = Convert.ToBinary(inputBuffer);\n }\n }\n fromString(inputString) {\n this.valueBlock.valueHexView = new Uint8Array(Convert.FromUtf8String(inputString));\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalUtf8StringValueBlock, "LocalUtf8StringValueBlock");\nLocalUtf8StringValueBlock.NAME = "Utf8StringValueBlock";\nvar _a$i;\nvar Utf8String = class extends LocalUtf8StringValueBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 12;\n }\n};\n__name(Utf8String, "Utf8String");\n_a$i = Utf8String;\n(() => {\n typeStore.Utf8String = _a$i;\n})();\nUtf8String.NAME = "UTF8String";\nvar LocalBmpStringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n this.valueBlock.value = Convert.ToUtf16String(inputBuffer);\n this.valueBlock.valueHexView = BufferSourceConverter.toUint8Array(inputBuffer);\n }\n fromString(inputString) {\n this.valueBlock.value = inputString;\n this.valueBlock.valueHexView = new Uint8Array(Convert.FromUtf16String(inputString));\n }\n};\n__name(LocalBmpStringValueBlock, "LocalBmpStringValueBlock");\nLocalBmpStringValueBlock.NAME = "BmpStringValueBlock";\nvar _a$h;\nvar BmpString = class extends LocalBmpStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 30;\n }\n};\n__name(BmpString, "BmpString");\n_a$h = BmpString;\n(() => {\n typeStore.BmpString = _a$h;\n})();\nBmpString.NAME = "BMPString";\nvar LocalUniversalStringValueBlock = class extends LocalSimpleStringBlock {\n fromBuffer(inputBuffer) {\n const copyBuffer = ArrayBuffer.isView(inputBuffer) ? inputBuffer.slice().buffer : inputBuffer.slice(0);\n const valueView = new Uint8Array(copyBuffer);\n for (let i = 0; i < valueView.length; i += 4) {\n valueView[i] = valueView[i + 3];\n valueView[i + 1] = valueView[i + 2];\n valueView[i + 2] = 0;\n valueView[i + 3] = 0;\n }\n this.valueBlock.value = String.fromCharCode.apply(null, new Uint32Array(copyBuffer));\n }\n fromString(inputString) {\n const strLength = inputString.length;\n const valueHexView = this.valueBlock.valueHexView = new Uint8Array(strLength * 4);\n for (let i = 0; i < strLength; i++) {\n const codeBuf = utilToBase(inputString.charCodeAt(i), 8);\n const codeView = new Uint8Array(codeBuf);\n if (codeView.length > 4)\n continue;\n const dif = 4 - codeView.length;\n for (let j = codeView.length - 1; j >= 0; j--)\n valueHexView[i * 4 + j + dif] = codeView[j];\n }\n this.valueBlock.value = inputString;\n }\n};\n__name(LocalUniversalStringValueBlock, "LocalUniversalStringValueBlock");\nLocalUniversalStringValueBlock.NAME = "UniversalStringValueBlock";\nvar _a$g;\nvar UniversalString = class extends LocalUniversalStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 28;\n }\n};\n__name(UniversalString, "UniversalString");\n_a$g = UniversalString;\n(() => {\n typeStore.UniversalString = _a$g;\n})();\nUniversalString.NAME = "UniversalString";\nvar _a$f;\nvar NumericString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 18;\n }\n};\n__name(NumericString, "NumericString");\n_a$f = NumericString;\n(() => {\n typeStore.NumericString = _a$f;\n})();\nNumericString.NAME = "NumericString";\nvar _a$e;\nvar PrintableString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 19;\n }\n};\n__name(PrintableString, "PrintableString");\n_a$e = PrintableString;\n(() => {\n typeStore.PrintableString = _a$e;\n})();\nPrintableString.NAME = "PrintableString";\nvar _a$d;\nvar TeletexString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 20;\n }\n};\n__name(TeletexString, "TeletexString");\n_a$d = TeletexString;\n(() => {\n typeStore.TeletexString = _a$d;\n})();\nTeletexString.NAME = "TeletexString";\nvar _a$c;\nvar VideotexString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 21;\n }\n};\n__name(VideotexString, "VideotexString");\n_a$c = VideotexString;\n(() => {\n typeStore.VideotexString = _a$c;\n})();\nVideotexString.NAME = "VideotexString";\nvar _a$b;\nvar IA5String = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 22;\n }\n};\n__name(IA5String, "IA5String");\n_a$b = IA5String;\n(() => {\n typeStore.IA5String = _a$b;\n})();\nIA5String.NAME = "IA5String";\nvar _a$a;\nvar GraphicString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 25;\n }\n};\n__name(GraphicString, "GraphicString");\n_a$a = GraphicString;\n(() => {\n typeStore.GraphicString = _a$a;\n})();\nGraphicString.NAME = "GraphicString";\nvar _a$9;\nvar VisibleString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 26;\n }\n};\n__name(VisibleString, "VisibleString");\n_a$9 = VisibleString;\n(() => {\n typeStore.VisibleString = _a$9;\n})();\nVisibleString.NAME = "VisibleString";\nvar _a$8;\nvar GeneralString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 27;\n }\n};\n__name(GeneralString, "GeneralString");\n_a$8 = GeneralString;\n(() => {\n typeStore.GeneralString = _a$8;\n})();\nGeneralString.NAME = "GeneralString";\nvar _a$7;\nvar CharacterString = class extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 29;\n }\n};\n__name(CharacterString, "CharacterString");\n_a$7 = CharacterString;\n(() => {\n typeStore.CharacterString = _a$7;\n})();\nCharacterString.NAME = "CharacterString";\nvar _a$6;\nvar UTCTime = class extends VisibleString {\n constructor({ value, valueDate, ...parameters } = {}) {\n super(parameters);\n this.year = 0;\n this.month = 0;\n this.day = 0;\n this.hour = 0;\n this.minute = 0;\n this.second = 0;\n if (value) {\n this.fromString(value);\n this.valueBlock.valueHexView = new Uint8Array(value.length);\n for (let i = 0; i < value.length; i++)\n this.valueBlock.valueHexView[i] = value.charCodeAt(i);\n }\n if (valueDate) {\n this.fromDate(valueDate);\n this.valueBlock.valueHexView = new Uint8Array(this.toBuffer());\n }\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 23;\n }\n fromBuffer(inputBuffer) {\n this.fromString(String.fromCharCode.apply(null, BufferSourceConverter.toUint8Array(inputBuffer)));\n }\n toBuffer() {\n const str = this.toString();\n const buffer = new ArrayBuffer(str.length);\n const view = new Uint8Array(buffer);\n for (let i = 0; i < str.length; i++)\n view[i] = str.charCodeAt(i);\n return buffer;\n }\n fromDate(inputDate) {\n this.year = inputDate.getUTCFullYear();\n this.month = inputDate.getUTCMonth() + 1;\n this.day = inputDate.getUTCDate();\n this.hour = inputDate.getUTCHours();\n this.minute = inputDate.getUTCMinutes();\n this.second = inputDate.getUTCSeconds();\n }\n toDate() {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second));\n }\n fromString(inputString) {\n const parser = /(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})Z/ig;\n const parserArray = parser.exec(inputString);\n if (parserArray === null) {\n this.error = "Wrong input string for conversion";\n return;\n }\n const year = parseInt(parserArray[1], 10);\n if (year >= 50)\n this.year = 1900 + year;\n else\n this.year = 2e3 + year;\n this.month = parseInt(parserArray[2], 10);\n this.day = parseInt(parserArray[3], 10);\n this.hour = parseInt(parserArray[4], 10);\n this.minute = parseInt(parserArray[5], 10);\n this.second = parseInt(parserArray[6], 10);\n }\n toString(encoding = "iso") {\n if (encoding === "iso") {\n const outputArray = new Array(7);\n outputArray[0] = padNumber(this.year < 2e3 ? this.year - 1900 : this.year - 2e3, 2);\n outputArray[1] = padNumber(this.month, 2);\n outputArray[2] = padNumber(this.day, 2);\n outputArray[3] = padNumber(this.hour, 2);\n outputArray[4] = padNumber(this.minute, 2);\n outputArray[5] = padNumber(this.second, 2);\n outputArray[6] = "Z";\n return outputArray.join("");\n }\n return super.toString(encoding);\n }\n onAsciiEncoding() {\n return `${this.constructor.NAME} : ${this.toDate().toISOString()}`;\n }\n toJSON() {\n return {\n ...super.toJSON(),\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second\n };\n }\n};\n__name(UTCTime, "UTCTime");\n_a$6 = UTCTime;\n(() => {\n typeStore.UTCTime = _a$6;\n})();\nUTCTime.NAME = "UTCTime";\nvar _a$5;\nvar GeneralizedTime = class extends UTCTime {\n constructor(parameters = {}) {\n var _b;\n super(parameters);\n (_b = this.millisecond) !== null && _b !== void 0 ? _b : this.millisecond = 0;\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 24;\n }\n fromDate(inputDate) {\n super.fromDate(inputDate);\n this.millisecond = inputDate.getUTCMilliseconds();\n }\n toDate() {\n return new Date(Date.UTC(this.year, this.month - 1, this.day, this.hour, this.minute, this.second, this.millisecond));\n }\n fromString(inputString) {\n let isUTC = false;\n let timeString = "";\n let dateTimeString = "";\n let fractionPart = 0;\n let parser;\n let hourDifference = 0;\n let minuteDifference = 0;\n if (inputString[inputString.length - 1] === "Z") {\n timeString = inputString.substring(0, inputString.length - 1);\n isUTC = true;\n } else {\n const number = new Number(inputString[inputString.length - 1]);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n timeString = inputString;\n }\n if (isUTC) {\n if (timeString.indexOf("+") !== -1)\n throw new Error("Wrong input string for conversion");\n if (timeString.indexOf("-") !== -1)\n throw new Error("Wrong input string for conversion");\n } else {\n let multiplier = 1;\n let differencePosition = timeString.indexOf("+");\n let differenceString = "";\n if (differencePosition === -1) {\n differencePosition = timeString.indexOf("-");\n multiplier = -1;\n }\n if (differencePosition !== -1) {\n differenceString = timeString.substring(differencePosition + 1);\n timeString = timeString.substring(0, differencePosition);\n if (differenceString.length !== 2 && differenceString.length !== 4)\n throw new Error("Wrong input string for conversion");\n let number = parseInt(differenceString.substring(0, 2), 10);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n hourDifference = multiplier * number;\n if (differenceString.length === 4) {\n number = parseInt(differenceString.substring(2, 4), 10);\n if (isNaN(number.valueOf()))\n throw new Error("Wrong input string for conversion");\n minuteDifference = multiplier * number;\n }\n }\n }\n let fractionPointPosition = timeString.indexOf(".");\n if (fractionPointPosition === -1)\n fractionPointPosition = timeString.indexOf(",");\n if (fractionPointPosition !== -1) {\n const fractionPartCheck = new Number(`0${timeString.substring(fractionPointPosition)}`);\n if (isNaN(fractionPartCheck.valueOf()))\n throw new Error("Wrong input string for conversion");\n fractionPart = fractionPartCheck.valueOf();\n dateTimeString = timeString.substring(0, fractionPointPosition);\n } else\n dateTimeString = timeString;\n switch (true) {\n case dateTimeString.length === 8:\n parser = /(\\d{4})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1)\n throw new Error("Wrong input string for conversion");\n break;\n case dateTimeString.length === 10:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n let fractionResult = 60 * fractionPart;\n this.minute = Math.floor(fractionResult);\n fractionResult = 60 * (fractionResult - this.minute);\n this.second = Math.floor(fractionResult);\n fractionResult = 1e3 * (fractionResult - this.second);\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n case dateTimeString.length === 12:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n let fractionResult = 60 * fractionPart;\n this.second = Math.floor(fractionResult);\n fractionResult = 1e3 * (fractionResult - this.second);\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n case dateTimeString.length === 14:\n parser = /(\\d{4})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})/ig;\n if (fractionPointPosition !== -1) {\n const fractionResult = 1e3 * fractionPart;\n this.millisecond = Math.floor(fractionResult);\n }\n break;\n default:\n throw new Error("Wrong input string for conversion");\n }\n const parserArray = parser.exec(dateTimeString);\n if (parserArray === null)\n throw new Error("Wrong input string for conversion");\n for (let j = 1; j < parserArray.length; j++) {\n switch (j) {\n case 1:\n this.year = parseInt(parserArray[j], 10);\n break;\n case 2:\n this.month = parseInt(parserArray[j], 10);\n break;\n case 3:\n this.day = parseInt(parserArray[j], 10);\n break;\n case 4:\n this.hour = parseInt(parserArray[j], 10) + hourDifference;\n break;\n case 5:\n this.minute = parseInt(parserArray[j], 10) + minuteDifference;\n break;\n case 6:\n this.second = parseInt(parserArray[j], 10);\n break;\n default:\n throw new Error("Wrong input string for conversion");\n }\n }\n if (isUTC === false) {\n const tempDate = new Date(this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n this.year = tempDate.getUTCFullYear();\n this.month = tempDate.getUTCMonth();\n this.day = tempDate.getUTCDay();\n this.hour = tempDate.getUTCHours();\n this.minute = tempDate.getUTCMinutes();\n this.second = tempDate.getUTCSeconds();\n this.millisecond = tempDate.getUTCMilliseconds();\n }\n }\n toString(encoding = "iso") {\n if (encoding === "iso") {\n const outputArray = [];\n outputArray.push(padNumber(this.year, 4));\n outputArray.push(padNumber(this.month, 2));\n outputArray.push(padNumber(this.day, 2));\n outputArray.push(padNumber(this.hour, 2));\n outputArray.push(padNumber(this.minute, 2));\n outputArray.push(padNumber(this.second, 2));\n if (this.millisecond !== 0) {\n outputArray.push(".");\n outputArray.push(padNumber(this.millisecond, 3));\n }\n outputArray.push("Z");\n return outputArray.join("");\n }\n return super.toString(encoding);\n }\n toJSON() {\n return {\n ...super.toJSON(),\n millisecond: this.millisecond\n };\n }\n};\n__name(GeneralizedTime, "GeneralizedTime");\n_a$5 = GeneralizedTime;\n(() => {\n typeStore.GeneralizedTime = _a$5;\n})();\nGeneralizedTime.NAME = "GeneralizedTime";\nvar _a$4;\nvar DATE = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 31;\n }\n};\n__name(DATE, "DATE");\n_a$4 = DATE;\n(() => {\n typeStore.DATE = _a$4;\n})();\nDATE.NAME = "DATE";\nvar _a$3;\nvar TimeOfDay = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 32;\n }\n};\n__name(TimeOfDay, "TimeOfDay");\n_a$3 = TimeOfDay;\n(() => {\n typeStore.TimeOfDay = _a$3;\n})();\nTimeOfDay.NAME = "TimeOfDay";\nvar _a$2;\nvar DateTime = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 33;\n }\n};\n__name(DateTime, "DateTime");\n_a$2 = DateTime;\n(() => {\n typeStore.DateTime = _a$2;\n})();\nDateTime.NAME = "DateTime";\nvar _a$1;\nvar Duration = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 34;\n }\n};\n__name(Duration, "Duration");\n_a$1 = Duration;\n(() => {\n typeStore.Duration = _a$1;\n})();\nDuration.NAME = "Duration";\nvar _a;\nvar TIME = class extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 14;\n }\n};\n__name(TIME, "TIME");\n_a = TIME;\n(() => {\n typeStore.TIME = _a;\n})();\nTIME.NAME = "TIME";\nvar Any = class {\n constructor({ name = EMPTY_STRING, optional = false } = {}) {\n this.name = name;\n this.optional = optional;\n }\n};\n__name(Any, "Any");\nvar Choice = class extends Any {\n constructor({ value = [], ...parameters } = {}) {\n super(parameters);\n this.value = value;\n }\n};\n__name(Choice, "Choice");\nvar Repeated = class extends Any {\n constructor({ value = new Any(), local = false, ...parameters } = {}) {\n super(parameters);\n this.value = value;\n this.local = local;\n }\n};\n__name(Repeated, "Repeated");\nvar RawData = class {\n constructor({ data = EMPTY_VIEW } = {}) {\n this.dataView = BufferSourceConverter.toUint8Array(data);\n }\n get data() {\n return this.dataView.slice().buffer;\n }\n set data(value) {\n this.dataView = BufferSourceConverter.toUint8Array(value);\n }\n fromBER(inputBuffer, inputOffset, inputLength) {\n const endLength = inputOffset + inputLength;\n this.dataView = BufferSourceConverter.toUint8Array(inputBuffer).subarray(inputOffset, endLength);\n return endLength;\n }\n toBER(sizeOnly) {\n return this.dataView.slice().buffer;\n }\n};\n__name(RawData, "RawData");\nfunction compareSchema(root, inputData, inputSchema) {\n if (inputSchema instanceof Choice) {\n for (let j = 0; j < inputSchema.value.length; j++) {\n const result = compareSchema(root, inputData, inputSchema.value[j]);\n if (result.verified) {\n return {\n verified: true,\n result: root\n };\n }\n }\n {\n const _result = {\n verified: false,\n result: {\n error: "Wrong values for Choice type"\n }\n };\n if (inputSchema.hasOwnProperty(NAME))\n _result.name = inputSchema.name;\n return _result;\n }\n }\n if (inputSchema instanceof Any) {\n if (inputSchema.hasOwnProperty(NAME))\n root[inputSchema.name] = inputData;\n return {\n verified: true,\n result: root\n };\n }\n if (root instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong root object" }\n };\n }\n if (inputData instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 data" }\n };\n }\n if (inputSchema instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (ID_BLOCK in inputSchema === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (FROM_BER in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (TO_BER in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n const encodedId = inputSchema.idBlock.toBER(false);\n if (encodedId.byteLength === 0) {\n return {\n verified: false,\n result: { error: "Error encoding idBlock for ASN.1 schema" }\n };\n }\n const decodedOffset = inputSchema.idBlock.fromBER(encodedId, 0, encodedId.byteLength);\n if (decodedOffset === -1) {\n return {\n verified: false,\n result: { error: "Error decoding idBlock for ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(TAG_CLASS) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.tagClass !== inputData.idBlock.tagClass) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(TAG_NUMBER) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.tagNumber !== inputData.idBlock.tagNumber) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.hasOwnProperty(IS_CONSTRUCTED) === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.isConstructed !== inputData.idBlock.isConstructed) {\n return {\n verified: false,\n result: root\n };\n }\n if (!(IS_HEX_ONLY in inputSchema.idBlock)) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n if (inputSchema.idBlock.isHexOnly !== inputData.idBlock.isHexOnly) {\n return {\n verified: false,\n result: root\n };\n }\n if (inputSchema.idBlock.isHexOnly) {\n if (VALUE_HEX_VIEW in inputSchema.idBlock === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema" }\n };\n }\n const schemaView = inputSchema.idBlock.valueHexView;\n const asn1View = inputData.idBlock.valueHexView;\n if (schemaView.length !== asn1View.length) {\n return {\n verified: false,\n result: root\n };\n }\n for (let i = 0; i < schemaView.length; i++) {\n if (schemaView[i] !== asn1View[1]) {\n return {\n verified: false,\n result: root\n };\n }\n }\n }\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n root[inputSchema.name] = inputData;\n }\n if (inputSchema instanceof typeStore.Constructed) {\n let admission = 0;\n let result = {\n verified: false,\n result: {\n error: "Unknown error"\n }\n };\n let maxLength = inputSchema.valueBlock.value.length;\n if (maxLength > 0) {\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\n maxLength = inputData.valueBlock.value.length;\n }\n }\n if (maxLength === 0) {\n return {\n verified: true,\n result: root\n };\n }\n if (inputData.valueBlock.value.length === 0 && inputSchema.valueBlock.value.length !== 0) {\n let _optional = true;\n for (let i = 0; i < inputSchema.valueBlock.value.length; i++)\n _optional = _optional && (inputSchema.valueBlock.value[i].optional || false);\n if (_optional) {\n return {\n verified: true,\n result: root\n };\n }\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n root.error = "Inconsistent object length";\n return {\n verified: false,\n result: root\n };\n }\n for (let i = 0; i < maxLength; i++) {\n if (i - admission >= inputData.valueBlock.value.length) {\n if (inputSchema.valueBlock.value[i].optional === false) {\n const _result = {\n verified: false,\n result: root\n };\n root.error = "Inconsistent length between ASN.1 data and schema";\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n } else {\n if (inputSchema.valueBlock.value[0] instanceof Repeated) {\n result = compareSchema(root, inputData.valueBlock.value[i], inputSchema.valueBlock.value[0].value);\n if (result.verified === false) {\n if (inputSchema.valueBlock.value[0].optional)\n admission++;\n else {\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n return result;\n }\n }\n if (NAME in inputSchema.valueBlock.value[0] && inputSchema.valueBlock.value[0].name.length > 0) {\n let arrayRoot = {};\n if (LOCAL in inputSchema.valueBlock.value[0] && inputSchema.valueBlock.value[0].local)\n arrayRoot = inputData;\n else\n arrayRoot = root;\n if (typeof arrayRoot[inputSchema.valueBlock.value[0].name] === "undefined")\n arrayRoot[inputSchema.valueBlock.value[0].name] = [];\n arrayRoot[inputSchema.valueBlock.value[0].name].push(inputData.valueBlock.value[i]);\n }\n } else {\n result = compareSchema(root, inputData.valueBlock.value[i - admission], inputSchema.valueBlock.value[i]);\n if (result.verified === false) {\n if (inputSchema.valueBlock.value[i].optional)\n admission++;\n else {\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name)\n delete root[inputSchema.name];\n }\n return result;\n }\n }\n }\n }\n }\n if (result.verified === false) {\n const _result = {\n verified: false,\n result: root\n };\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n return {\n verified: true,\n result: root\n };\n }\n if (inputSchema.primitiveSchema && VALUE_HEX_VIEW in inputData.valueBlock) {\n const asn1 = localFromBER(inputData.valueBlock.valueHexView);\n if (asn1.offset === -1) {\n const _result = {\n verified: false,\n result: asn1.result\n };\n if (inputSchema.name) {\n inputSchema.name = inputSchema.name.replace(/^\\s+|\\s+$/g, EMPTY_STRING);\n if (inputSchema.name) {\n delete root[inputSchema.name];\n _result.name = inputSchema.name;\n }\n }\n return _result;\n }\n return compareSchema(root, asn1.result, inputSchema.primitiveSchema);\n }\n return {\n verified: true,\n result: root\n };\n}\n__name(compareSchema, "compareSchema");\nfunction verifySchema(inputBuffer, inputSchema) {\n if (inputSchema instanceof Object === false) {\n return {\n verified: false,\n result: { error: "Wrong ASN.1 schema type" }\n };\n }\n const asn1 = localFromBER(BufferSourceConverter.toUint8Array(inputBuffer));\n if (asn1.offset === -1) {\n return {\n verified: false,\n result: asn1.result\n };\n }\n return compareSchema(asn1.result, asn1.result, inputSchema);\n}\n__name(verifySchema, "verifySchema");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/enums.js\nvar AsnTypeTypes;\n(function(AsnTypeTypes2) {\n AsnTypeTypes2[AsnTypeTypes2["Sequence"] = 0] = "Sequence";\n AsnTypeTypes2[AsnTypeTypes2["Set"] = 1] = "Set";\n AsnTypeTypes2[AsnTypeTypes2["Choice"] = 2] = "Choice";\n})(AsnTypeTypes || (AsnTypeTypes = {}));\nvar AsnPropTypes;\n(function(AsnPropTypes2) {\n AsnPropTypes2[AsnPropTypes2["Any"] = 1] = "Any";\n AsnPropTypes2[AsnPropTypes2["Boolean"] = 2] = "Boolean";\n AsnPropTypes2[AsnPropTypes2["OctetString"] = 3] = "OctetString";\n AsnPropTypes2[AsnPropTypes2["BitString"] = 4] = "BitString";\n AsnPropTypes2[AsnPropTypes2["Integer"] = 5] = "Integer";\n AsnPropTypes2[AsnPropTypes2["Enumerated"] = 6] = "Enumerated";\n AsnPropTypes2[AsnPropTypes2["ObjectIdentifier"] = 7] = "ObjectIdentifier";\n AsnPropTypes2[AsnPropTypes2["Utf8String"] = 8] = "Utf8String";\n AsnPropTypes2[AsnPropTypes2["BmpString"] = 9] = "BmpString";\n AsnPropTypes2[AsnPropTypes2["UniversalString"] = 10] = "UniversalString";\n AsnPropTypes2[AsnPropTypes2["NumericString"] = 11] = "NumericString";\n AsnPropTypes2[AsnPropTypes2["PrintableString"] = 12] = "PrintableString";\n AsnPropTypes2[AsnPropTypes2["TeletexString"] = 13] = "TeletexString";\n AsnPropTypes2[AsnPropTypes2["VideotexString"] = 14] = "VideotexString";\n AsnPropTypes2[AsnPropTypes2["IA5String"] = 15] = "IA5String";\n AsnPropTypes2[AsnPropTypes2["GraphicString"] = 16] = "GraphicString";\n AsnPropTypes2[AsnPropTypes2["VisibleString"] = 17] = "VisibleString";\n AsnPropTypes2[AsnPropTypes2["GeneralString"] = 18] = "GeneralString";\n AsnPropTypes2[AsnPropTypes2["CharacterString"] = 19] = "CharacterString";\n AsnPropTypes2[AsnPropTypes2["UTCTime"] = 20] = "UTCTime";\n AsnPropTypes2[AsnPropTypes2["GeneralizedTime"] = 21] = "GeneralizedTime";\n AsnPropTypes2[AsnPropTypes2["DATE"] = 22] = "DATE";\n AsnPropTypes2[AsnPropTypes2["TimeOfDay"] = 23] = "TimeOfDay";\n AsnPropTypes2[AsnPropTypes2["DateTime"] = 24] = "DateTime";\n AsnPropTypes2[AsnPropTypes2["Duration"] = 25] = "Duration";\n AsnPropTypes2[AsnPropTypes2["TIME"] = 26] = "TIME";\n AsnPropTypes2[AsnPropTypes2["Null"] = 27] = "Null";\n})(AsnPropTypes || (AsnPropTypes = {}));\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/converters.js\nvar AsnAnyConverter = {\n fromASN: (value) => value instanceof Null ? null : value.valueBeforeDecodeView,\n toASN: (value) => {\n if (value === null) {\n return new Null();\n }\n const schema = fromBER(value);\n if (schema.result.error) {\n throw new Error(schema.result.error);\n }\n return schema.result;\n }\n};\nvar AsnIntegerConverter = {\n fromASN: (value) => value.valueBlock.valueHexView.byteLength >= 4 ? value.valueBlock.toString() : value.valueBlock.valueDec,\n toASN: (value) => new Integer({ value: +value })\n};\nvar AsnEnumeratedConverter = {\n fromASN: (value) => value.valueBlock.valueDec,\n toASN: (value) => new Enumerated({ value })\n};\nvar AsnBitStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new BitString({ valueHex: value })\n};\nvar AsnObjectIdentifierConverter = {\n fromASN: (value) => value.valueBlock.toString(),\n toASN: (value) => new ObjectIdentifier({ value })\n};\nvar AsnBooleanConverter = {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new Boolean({ value })\n};\nvar AsnOctetStringConverter = {\n fromASN: (value) => value.valueBlock.valueHexView,\n toASN: (value) => new OctetString({ valueHex: value })\n};\nfunction createStringConverter(Asn1Type) {\n return {\n fromASN: (value) => value.valueBlock.value,\n toASN: (value) => new Asn1Type({ value })\n };\n}\n__name(createStringConverter, "createStringConverter");\nvar AsnUtf8StringConverter = createStringConverter(Utf8String);\nvar AsnBmpStringConverter = createStringConverter(BmpString);\nvar AsnUniversalStringConverter = createStringConverter(UniversalString);\nvar AsnNumericStringConverter = createStringConverter(NumericString);\nvar AsnPrintableStringConverter = createStringConverter(PrintableString);\nvar AsnTeletexStringConverter = createStringConverter(TeletexString);\nvar AsnVideotexStringConverter = createStringConverter(VideotexString);\nvar AsnIA5StringConverter = createStringConverter(IA5String);\nvar AsnGraphicStringConverter = createStringConverter(GraphicString);\nvar AsnVisibleStringConverter = createStringConverter(VisibleString);\nvar AsnGeneralStringConverter = createStringConverter(GeneralString);\nvar AsnCharacterStringConverter = createStringConverter(CharacterString);\nvar AsnUTCTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new UTCTime({ valueDate: value })\n};\nvar AsnGeneralizedTimeConverter = {\n fromASN: (value) => value.toDate(),\n toASN: (value) => new GeneralizedTime({ valueDate: value })\n};\nvar AsnNullConverter = {\n fromASN: () => null,\n toASN: () => {\n return new Null();\n }\n};\nfunction defaultConverter(type) {\n switch (type) {\n case AsnPropTypes.Any:\n return AsnAnyConverter;\n case AsnPropTypes.BitString:\n return AsnBitStringConverter;\n case AsnPropTypes.BmpString:\n return AsnBmpStringConverter;\n case AsnPropTypes.Boolean:\n return AsnBooleanConverter;\n case AsnPropTypes.CharacterString:\n return AsnCharacterStringConverter;\n case AsnPropTypes.Enumerated:\n return AsnEnumeratedConverter;\n case AsnPropTypes.GeneralString:\n return AsnGeneralStringConverter;\n case AsnPropTypes.GeneralizedTime:\n return AsnGeneralizedTimeConverter;\n case AsnPropTypes.GraphicString:\n return AsnGraphicStringConverter;\n case AsnPropTypes.IA5String:\n return AsnIA5StringConverter;\n case AsnPropTypes.Integer:\n return AsnIntegerConverter;\n case AsnPropTypes.Null:\n return AsnNullConverter;\n case AsnPropTypes.NumericString:\n return AsnNumericStringConverter;\n case AsnPropTypes.ObjectIdentifier:\n return AsnObjectIdentifierConverter;\n case AsnPropTypes.OctetString:\n return AsnOctetStringConverter;\n case AsnPropTypes.PrintableString:\n return AsnPrintableStringConverter;\n case AsnPropTypes.TeletexString:\n return AsnTeletexStringConverter;\n case AsnPropTypes.UTCTime:\n return AsnUTCTimeConverter;\n case AsnPropTypes.UniversalString:\n return AsnUniversalStringConverter;\n case AsnPropTypes.Utf8String:\n return AsnUtf8StringConverter;\n case AsnPropTypes.VideotexString:\n return AsnVideotexStringConverter;\n case AsnPropTypes.VisibleString:\n return AsnVisibleStringConverter;\n default:\n return null;\n }\n}\n__name(defaultConverter, "defaultConverter");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/helper.js\nfunction isConvertible(target) {\n if (typeof target === "function" && target.prototype) {\n if (target.prototype.toASN && target.prototype.fromASN) {\n return true;\n } else {\n return isConvertible(target.prototype);\n }\n } else {\n return !!(target && typeof target === "object" && "toASN" in target && "fromASN" in target);\n }\n}\n__name(isConvertible, "isConvertible");\nfunction isTypeOfArray(target) {\n var _a2;\n if (target) {\n const proto = Object.getPrototypeOf(target);\n if (((_a2 = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a2 === void 0 ? void 0 : _a2.constructor) === Array) {\n return true;\n }\n return isTypeOfArray(proto);\n }\n return false;\n}\n__name(isTypeOfArray, "isTypeOfArray");\nfunction isArrayEqual(bytes1, bytes2) {\n if (!(bytes1 && bytes2)) {\n return false;\n }\n if (bytes1.byteLength !== bytes2.byteLength) {\n return false;\n }\n const b1 = new Uint8Array(bytes1);\n const b2 = new Uint8Array(bytes2);\n for (let i = 0; i < bytes1.byteLength; i++) {\n if (b1[i] !== b2[i]) {\n return false;\n }\n }\n return true;\n}\n__name(isArrayEqual, "isArrayEqual");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/schema.js\nvar AsnSchemaStorage = class {\n constructor() {\n this.items = /* @__PURE__ */ new WeakMap();\n }\n has(target) {\n return this.items.has(target);\n }\n get(target, checkSchema = false) {\n const schema = this.items.get(target);\n if (!schema) {\n throw new Error(`Cannot get schema for \'${target.prototype.constructor.name}\' target`);\n }\n if (checkSchema && !schema.schema) {\n throw new Error(`Schema \'${target.prototype.constructor.name}\' doesn\'t contain ASN.1 schema. Call \'AsnSchemaStorage.cache\'.`);\n }\n return schema;\n }\n cache(target) {\n const schema = this.get(target);\n if (!schema.schema) {\n schema.schema = this.create(target, true);\n }\n }\n createDefault(target) {\n const schema = {\n type: AsnTypeTypes.Sequence,\n items: {}\n };\n const parentSchema = this.findParentSchema(target);\n if (parentSchema) {\n Object.assign(schema, parentSchema);\n schema.items = Object.assign({}, schema.items, parentSchema.items);\n }\n return schema;\n }\n create(target, useNames) {\n const schema = this.items.get(target) || this.createDefault(target);\n const asn1Value = [];\n for (const key in schema.items) {\n const item = schema.items[key];\n const name = useNames ? key : "";\n let asn1Item;\n if (typeof item.type === "number") {\n const Asn1TypeName = AsnPropTypes[item.type];\n const Asn1Type = index_es_exports[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get ASN1 class by name \'${Asn1TypeName}\'`);\n }\n asn1Item = new Asn1Type({ name });\n } else if (isConvertible(item.type)) {\n const instance = new item.type();\n asn1Item = instance.toSchema(name);\n } else if (item.optional) {\n const itemSchema = this.get(item.type);\n if (itemSchema.type === AsnTypeTypes.Choice) {\n asn1Item = new Any({ name });\n } else {\n asn1Item = this.create(item.type, false);\n asn1Item.name = name;\n }\n } else {\n asn1Item = new Any({ name });\n }\n const optional = !!item.optional || item.defaultValue !== void 0;\n if (item.repeated) {\n asn1Item.name = "";\n const Container = item.repeated === "set" ? Set : Sequence;\n asn1Item = new Container({\n name: "",\n value: [\n new Repeated({\n name,\n value: asn1Item\n })\n ]\n });\n }\n if (item.context !== null && item.context !== void 0) {\n if (item.implicit) {\n if (typeof item.type === "number" || isConvertible(item.type)) {\n const Container = item.repeated ? Constructed : Primitive;\n asn1Value.push(new Container({\n name,\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n }\n }));\n } else {\n this.cache(item.type);\n const isRepeated = !!item.repeated;\n let value = !isRepeated ? this.get(item.type, true).schema : asn1Item;\n value = "valueBlock" in value ? value.valueBlock.value : value.value;\n asn1Value.push(new Constructed({\n name: !isRepeated ? name : "",\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n },\n value\n }));\n }\n } else {\n asn1Value.push(new Constructed({\n optional,\n idBlock: {\n tagClass: 3,\n tagNumber: item.context\n },\n value: [asn1Item]\n }));\n }\n } else {\n asn1Item.optional = optional;\n asn1Value.push(asn1Item);\n }\n }\n switch (schema.type) {\n case AsnTypeTypes.Sequence:\n return new Sequence({ value: asn1Value, name: "" });\n case AsnTypeTypes.Set:\n return new Set({ value: asn1Value, name: "" });\n case AsnTypeTypes.Choice:\n return new Choice({ value: asn1Value, name: "" });\n default:\n throw new Error(`Unsupported ASN1 type in use`);\n }\n }\n set(target, schema) {\n this.items.set(target, schema);\n return this;\n }\n findParentSchema(target) {\n const parent = Object.getPrototypeOf(target);\n if (parent) {\n const schema = this.items.get(parent);\n return schema || this.findParentSchema(parent);\n }\n return null;\n }\n};\n__name(AsnSchemaStorage, "AsnSchemaStorage");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/storage.js\nvar schemaStorage = new AsnSchemaStorage();\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/decorators.js\nvar AsnType = /* @__PURE__ */ __name((options) => (target) => {\n let schema;\n if (!schemaStorage.has(target)) {\n schema = schemaStorage.createDefault(target);\n schemaStorage.set(target, schema);\n } else {\n schema = schemaStorage.get(target);\n }\n Object.assign(schema, options);\n}, "AsnType");\nvar AsnProp = /* @__PURE__ */ __name((options) => (target, propertyKey) => {\n let schema;\n if (!schemaStorage.has(target.constructor)) {\n schema = schemaStorage.createDefault(target.constructor);\n schemaStorage.set(target.constructor, schema);\n } else {\n schema = schemaStorage.get(target.constructor);\n }\n const copyOptions = Object.assign({}, options);\n if (typeof copyOptions.type === "number" && !copyOptions.converter) {\n const defaultConverter2 = defaultConverter(options.type);\n if (!defaultConverter2) {\n throw new Error(`Cannot get default converter for property \'${propertyKey}\' of ${target.constructor.name}`);\n }\n copyOptions.converter = defaultConverter2;\n }\n schema.items[propertyKey] = copyOptions;\n}, "AsnProp");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/errors/schema_validation.js\nvar AsnSchemaValidationError = class extends Error {\n constructor() {\n super(...arguments);\n this.schemas = [];\n }\n};\n__name(AsnSchemaValidationError, "AsnSchemaValidationError");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/parser.js\nvar AsnParser = class {\n static parse(data, target) {\n const asn1Parsed = fromBER(data);\n if (asn1Parsed.result.error) {\n throw new Error(asn1Parsed.result.error);\n }\n const res = this.fromASN(asn1Parsed.result, target);\n return res;\n }\n static fromASN(asn1Schema, target) {\n var _a2;\n try {\n if (isConvertible(target)) {\n const value = new target();\n return value.fromASN(asn1Schema);\n }\n const schema = schemaStorage.get(target);\n schemaStorage.cache(target);\n let targetSchema = schema.schema;\n if (asn1Schema.constructor === Constructed && schema.type !== AsnTypeTypes.Choice) {\n targetSchema = new Constructed({\n idBlock: {\n tagClass: 3,\n tagNumber: asn1Schema.idBlock.tagNumber\n },\n value: schema.schema.valueBlock.value\n });\n for (const key in schema.items) {\n delete asn1Schema[key];\n }\n }\n const asn1ComparedSchema = compareSchema({}, asn1Schema, targetSchema);\n if (!asn1ComparedSchema.verified) {\n throw new AsnSchemaValidationError(`Data does not match to ${target.name} ASN1 schema. ${asn1ComparedSchema.result.error}`);\n }\n const res = new target();\n if (isTypeOfArray(target)) {\n if (!("value" in asn1Schema.valueBlock && Array.isArray(asn1Schema.valueBlock.value))) {\n throw new Error(`Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.`);\n }\n const itemType = schema.itemType;\n if (typeof itemType === "number") {\n const converter = defaultConverter(itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n return target.from(asn1Schema.valueBlock.value, (element) => converter.fromASN(element));\n } else {\n return target.from(asn1Schema.valueBlock.value, (element) => this.fromASN(element, itemType));\n }\n }\n for (const key in schema.items) {\n const asn1SchemaValue = asn1ComparedSchema.result[key];\n if (!asn1SchemaValue) {\n continue;\n }\n const schemaItem = schema.items[key];\n const schemaItemType = schemaItem.type;\n if (typeof schemaItemType === "number" || isConvertible(schemaItemType)) {\n const converter = (_a2 = schemaItem.converter) !== null && _a2 !== void 0 ? _a2 : isConvertible(schemaItemType) ? new schemaItemType() : null;\n if (!converter) {\n throw new Error("Converter is empty");\n }\n if (schemaItem.repeated) {\n if (schemaItem.implicit) {\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n const newItem = new Container();\n newItem.valueBlock = asn1SchemaValue.valueBlock;\n const newItemAsn = fromBER(newItem.toBER(false));\n if (newItemAsn.offset === -1) {\n throw new Error(`Cannot parse the child item. ${newItemAsn.result.error}`);\n }\n if (!("value" in newItemAsn.result.valueBlock && Array.isArray(newItemAsn.result.valueBlock.value))) {\n throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");\n }\n const value = newItemAsn.result.valueBlock.value;\n res[key] = Array.from(value, (element) => converter.fromASN(element));\n } else {\n res[key] = Array.from(asn1SchemaValue, (element) => converter.fromASN(element));\n }\n } else {\n let value = asn1SchemaValue;\n if (schemaItem.implicit) {\n let newItem;\n if (isConvertible(schemaItemType)) {\n newItem = new schemaItemType().toSchema("");\n } else {\n const Asn1TypeName = AsnPropTypes[schemaItemType];\n const Asn1Type = index_es_exports[Asn1TypeName];\n if (!Asn1Type) {\n throw new Error(`Cannot get \'${Asn1TypeName}\' class from asn1js module`);\n }\n newItem = new Asn1Type();\n }\n newItem.valueBlock = value.valueBlock;\n value = fromBER(newItem.toBER(false)).result;\n }\n res[key] = converter.fromASN(value);\n }\n } else {\n if (schemaItem.repeated) {\n if (!Array.isArray(asn1SchemaValue)) {\n throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");\n }\n res[key] = Array.from(asn1SchemaValue, (element) => this.fromASN(element, schemaItemType));\n } else {\n res[key] = this.fromASN(asn1SchemaValue, schemaItemType);\n }\n }\n }\n return res;\n } catch (error) {\n if (error instanceof AsnSchemaValidationError) {\n error.schemas.push(target.name);\n }\n throw error;\n }\n }\n};\n__name(AsnParser, "AsnParser");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/serializer.js\nvar AsnSerializer = class {\n static serialize(obj) {\n if (obj instanceof BaseBlock) {\n return obj.toBER(false);\n }\n return this.toASN(obj).toBER(false);\n }\n static toASN(obj) {\n if (obj && typeof obj === "object" && isConvertible(obj)) {\n return obj.toASN();\n }\n if (!(obj && typeof obj === "object")) {\n throw new TypeError("Parameter 1 should be type of Object.");\n }\n const target = obj.constructor;\n const schema = schemaStorage.get(target);\n schemaStorage.cache(target);\n let asn1Value = [];\n if (schema.itemType) {\n if (!Array.isArray(obj)) {\n throw new TypeError("Parameter 1 should be type of Array.");\n }\n if (typeof schema.itemType === "number") {\n const converter = defaultConverter(schema.itemType);\n if (!converter) {\n throw new Error(`Cannot get default converter for array item of ${target.name} ASN1 schema`);\n }\n asn1Value = obj.map((o) => converter.toASN(o));\n } else {\n asn1Value = obj.map((o) => this.toAsnItem({ type: schema.itemType }, "[]", target, o));\n }\n } else {\n for (const key in schema.items) {\n const schemaItem = schema.items[key];\n const objProp = obj[key];\n if (objProp === void 0 || schemaItem.defaultValue === objProp || typeof schemaItem.defaultValue === "object" && typeof objProp === "object" && isArrayEqual(this.serialize(schemaItem.defaultValue), this.serialize(objProp))) {\n continue;\n }\n const asn1Item = AsnSerializer.toAsnItem(schemaItem, key, target, objProp);\n if (typeof schemaItem.context === "number") {\n if (schemaItem.implicit) {\n if (!schemaItem.repeated && (typeof schemaItem.type === "number" || isConvertible(schemaItem.type))) {\n const value = {};\n value.valueHex = asn1Item instanceof Null ? asn1Item.valueBeforeDecodeView : asn1Item.valueBlock.toBER();\n asn1Value.push(new Primitive({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n ...value\n }));\n } else {\n asn1Value.push(new Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n value: asn1Item.valueBlock.value\n }));\n }\n } else {\n asn1Value.push(new Constructed({\n optional: schemaItem.optional,\n idBlock: {\n tagClass: 3,\n tagNumber: schemaItem.context\n },\n value: [asn1Item]\n }));\n }\n } else if (schemaItem.repeated) {\n asn1Value = asn1Value.concat(asn1Item);\n } else {\n asn1Value.push(asn1Item);\n }\n }\n }\n let asnSchema;\n switch (schema.type) {\n case AsnTypeTypes.Sequence:\n asnSchema = new Sequence({ value: asn1Value });\n break;\n case AsnTypeTypes.Set:\n asnSchema = new Set({ value: asn1Value });\n break;\n case AsnTypeTypes.Choice:\n if (!asn1Value[0]) {\n throw new Error(`Schema \'${target.name}\' has wrong data. Choice cannot be empty.`);\n }\n asnSchema = asn1Value[0];\n break;\n }\n return asnSchema;\n }\n static toAsnItem(schemaItem, key, target, objProp) {\n let asn1Item;\n if (typeof schemaItem.type === "number") {\n const converter = schemaItem.converter;\n if (!converter) {\n throw new Error(`Property \'${key}\' doesn\'t have converter for type ${AsnPropTypes[schemaItem.type]} in schema \'${target.name}\'`);\n }\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => converter.toASN(element));\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n asn1Item = new Container({\n value: items\n });\n } else {\n asn1Item = converter.toASN(objProp);\n }\n } else {\n if (schemaItem.repeated) {\n if (!Array.isArray(objProp)) {\n throw new TypeError("Parameter \'objProp\' should be type of Array.");\n }\n const items = Array.from(objProp, (element) => this.toASN(element));\n const Container = schemaItem.repeated === "sequence" ? Sequence : Set;\n asn1Item = new Container({\n value: items\n });\n } else {\n asn1Item = this.toASN(objProp);\n }\n }\n return asn1Item;\n }\n};\n__name(AsnSerializer, "AsnSerializer");\n\n// ../../node_modules/.pnpm/@peculiar+asn1-schema@2.3.6/node_modules/@peculiar/asn1-schema/build/es2015/convert.js\nvar AsnConvert = class {\n static serialize(obj) {\n return AsnSerializer.serialize(obj);\n }\n static parse(data, target) {\n return AsnParser.parse(data, target);\n }\n static toString(data) {\n const buf = BufferSourceConverter.isBufferSource(data) ? BufferSourceConverter.toArrayBuffer(data) : AsnConvert.serialize(data);\n const asn = fromBER(buf);\n if (asn.offset === -1) {\n throw new Error(`Cannot decode ASN.1 data. ${asn.result.error}`);\n }\n return asn.result.toString();\n }\n};\n__name(AsnConvert, "AsnConvert");\n\n// ../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js\nfunction __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n__name(__decorate, "__decorate");\n\n// ../../node_modules/.pnpm/@peculiar+json-schema@1.1.12/node_modules/@peculiar/json-schema/build/index.es.js\nvar JsonError = class extends Error {\n constructor(message, innerError) {\n super(innerError ? `${message}. See the inner exception for more details.` : message);\n this.message = message;\n this.innerError = innerError;\n }\n};\n__name(JsonError, "JsonError");\nvar TransformError = class extends JsonError {\n constructor(schema, message, innerError) {\n super(message, innerError);\n this.schema = schema;\n }\n};\n__name(TransformError, "TransformError");\nvar ParserError = class extends TransformError {\n constructor(schema, message, innerError) {\n super(schema, `JSON doesn\'t match to \'${schema.target.name}\' schema. ${message}`, innerError);\n }\n};\n__name(ParserError, "ParserError");\nvar ValidationError = class extends JsonError {\n};\n__name(ValidationError, "ValidationError");\nvar SerializerError = class extends JsonError {\n constructor(schemaName, message, innerError) {\n super(`Cannot serialize by \'${schemaName}\' schema. ${message}`, innerError);\n this.schemaName = schemaName;\n }\n};\n__name(SerializerError, "SerializerError");\nvar KeyError = class extends ParserError {\n constructor(schema, keys, errors = {}) {\n super(schema, "Some keys doesn\'t match to schema");\n this.keys = keys;\n this.errors = errors;\n }\n};\n__name(KeyError, "KeyError");\nvar JsonPropTypes;\n(function(JsonPropTypes2) {\n JsonPropTypes2[JsonPropTypes2["Any"] = 0] = "Any";\n JsonPropTypes2[JsonPropTypes2["Boolean"] = 1] = "Boolean";\n JsonPropTypes2[JsonPropTypes2["Number"] = 2] = "Number";\n JsonPropTypes2[JsonPropTypes2["String"] = 3] = "String";\n})(JsonPropTypes || (JsonPropTypes = {}));\nfunction checkType(value, type) {\n switch (type) {\n case JsonPropTypes.Boolean:\n return typeof value === "boolean";\n case JsonPropTypes.Number:\n return typeof value === "number";\n case JsonPropTypes.String:\n return typeof value === "string";\n }\n return true;\n}\n__name(checkType, "checkType");\nfunction throwIfTypeIsWrong(value, type) {\n if (!checkType(value, type)) {\n throw new TypeError(`Value must be ${JsonPropTypes[type]}`);\n }\n}\n__name(throwIfTypeIsWrong, "throwIfTypeIsWrong");\nfunction isConvertible2(target) {\n if (target && target.prototype) {\n if (target.prototype.toJSON && target.prototype.fromJSON) {\n return true;\n } else {\n return isConvertible2(target.prototype);\n }\n } else {\n return !!(target && target.toJSON && target.fromJSON);\n }\n}\n__name(isConvertible2, "isConvertible");\nvar JsonSchemaStorage = class {\n constructor() {\n this.items = /* @__PURE__ */ new Map();\n }\n has(target) {\n return this.items.has(target) || !!this.findParentSchema(target);\n }\n get(target) {\n const schema = this.items.get(target) || this.findParentSchema(target);\n if (!schema) {\n throw new Error("Cannot get schema for current target");\n }\n return schema;\n }\n create(target) {\n const schema = { names: {} };\n const parentSchema = this.findParentSchema(target);\n if (parentSchema) {\n Object.assign(schema, parentSchema);\n schema.names = {};\n for (const name in parentSchema.names) {\n schema.names[name] = Object.assign({}, parentSchema.names[name]);\n }\n }\n schema.target = target;\n return schema;\n }\n set(target, schema) {\n this.items.set(target, schema);\n return this;\n }\n findParentSchema(target) {\n const parent = target.__proto__;\n if (parent) {\n const schema = this.items.get(parent);\n return schema || this.findParentSchema(parent);\n }\n return null;\n }\n};\n__name(JsonSchemaStorage, "JsonSchemaStorage");\nvar DEFAULT_SCHEMA = "default";\nvar schemaStorage2 = new JsonSchemaStorage();\nvar PatternValidation = class {\n constructor(pattern) {\n this.pattern = new RegExp(pattern);\n }\n validate(value) {\n const pattern = new RegExp(this.pattern.source, this.pattern.flags);\n if (typeof value !== "string") {\n throw new ValidationError("Incoming value must be string");\n }\n if (!pattern.exec(value)) {\n throw new ValidationError(`Value doesn\'t match to pattern \'${pattern.toString()}\'`);\n }\n }\n};\n__name(PatternValidation, "PatternValidation");\nvar InclusiveValidation = class {\n constructor(min = Number.MIN_VALUE, max = Number.MAX_VALUE) {\n this.min = min;\n this.max = max;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.Number);\n if (!(this.min <= value && value <= this.max)) {\n const min = this.min === Number.MIN_VALUE ? "MIN" : this.min;\n const max = this.max === Number.MAX_VALUE ? "MAX" : this.max;\n throw new ValidationError(`Value doesn\'t match to diapason [${min},${max}]`);\n }\n }\n};\n__name(InclusiveValidation, "InclusiveValidation");\nvar ExclusiveValidation = class {\n constructor(min = Number.MIN_VALUE, max = Number.MAX_VALUE) {\n this.min = min;\n this.max = max;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.Number);\n if (!(this.min < value && value < this.max)) {\n const min = this.min === Number.MIN_VALUE ? "MIN" : this.min;\n const max = this.max === Number.MAX_VALUE ? "MAX" : this.max;\n throw new ValidationError(`Value doesn\'t match to diapason (${min},${max})`);\n }\n }\n};\n__name(ExclusiveValidation, "ExclusiveValidation");\nvar LengthValidation = class {\n constructor(length, minLength, maxLength) {\n this.length = length;\n this.minLength = minLength;\n this.maxLength = maxLength;\n }\n validate(value) {\n if (this.length !== void 0) {\n if (value.length !== this.length) {\n throw new ValidationError(`Value length must be exactly ${this.length}.`);\n }\n return;\n }\n if (this.minLength !== void 0) {\n if (value.length < this.minLength) {\n throw new ValidationError(`Value length must be more than ${this.minLength}.`);\n }\n }\n if (this.maxLength !== void 0) {\n if (value.length > this.maxLength) {\n throw new ValidationError(`Value length must be less than ${this.maxLength}.`);\n }\n }\n }\n};\n__name(LengthValidation, "LengthValidation");\nvar EnumerationValidation = class {\n constructor(enumeration) {\n this.enumeration = enumeration;\n }\n validate(value) {\n throwIfTypeIsWrong(value, JsonPropTypes.String);\n if (!this.enumeration.includes(value)) {\n throw new ValidationError(`Value must be one of ${this.enumeration.map((v) => `\'${v}\'`).join(", ")}`);\n }\n }\n};\n__name(EnumerationValidation, "EnumerationValidation");\nvar JsonTransform = class {\n static checkValues(data, schemaItem) {\n const values = Array.isArray(data) ? data : [data];\n for (const value of values) {\n for (const validation of schemaItem.validations) {\n if (validation instanceof LengthValidation && schemaItem.repeated) {\n validation.validate(data);\n } else {\n validation.validate(value);\n }\n }\n }\n }\n static checkTypes(value, schemaItem) {\n if (schemaItem.repeated && !Array.isArray(value)) {\n throw new TypeError("Value must be Array");\n }\n if (typeof schemaItem.type === "number") {\n const values = Array.isArray(value) ? value : [value];\n for (const v of values) {\n throwIfTypeIsWrong(v, schemaItem.type);\n }\n }\n }\n static getSchemaByName(schema, name = DEFAULT_SCHEMA) {\n return { ...schema.names[DEFAULT_SCHEMA], ...schema.names[name] };\n }\n};\n__name(JsonTransform, "JsonTransform");\nvar JsonSerializer = class extends JsonTransform {\n static serialize(obj, options, replacer, space) {\n const json = this.toJSON(obj, options);\n return JSON.stringify(json, replacer, space);\n }\n static toJSON(obj, options = {}) {\n let res;\n let targetSchema = options.targetSchema;\n const schemaName = options.schemaName || DEFAULT_SCHEMA;\n if (isConvertible2(obj)) {\n return obj.toJSON();\n }\n if (Array.isArray(obj)) {\n res = [];\n for (const item of obj) {\n res.push(this.toJSON(item, options));\n }\n } else if (typeof obj === "object") {\n if (targetSchema && !schemaStorage2.has(targetSchema)) {\n throw new JsonError("Cannot get schema for `targetSchema` param");\n }\n targetSchema = targetSchema || obj.constructor;\n if (schemaStorage2.has(targetSchema)) {\n const schema = schemaStorage2.get(targetSchema);\n res = {};\n const namedSchema = this.getSchemaByName(schema, schemaName);\n for (const key in namedSchema) {\n try {\n const item = namedSchema[key];\n const objItem = obj[key];\n let value;\n if (item.optional && objItem === void 0 || item.defaultValue !== void 0 && objItem === item.defaultValue) {\n continue;\n }\n if (!item.optional && objItem === void 0) {\n throw new SerializerError(targetSchema.name, `Property \'${key}\' is required.`);\n }\n if (typeof item.type === "number") {\n if (item.converter) {\n if (item.repeated) {\n value = objItem.map((el) => item.converter.toJSON(el, obj));\n } else {\n value = item.converter.toJSON(objItem, obj);\n }\n } else {\n value = objItem;\n }\n } else {\n if (item.repeated) {\n value = objItem.map((el) => this.toJSON(el, { schemaName }));\n } else {\n value = this.toJSON(objItem, { schemaName });\n }\n }\n this.checkTypes(value, item);\n this.checkValues(value, item);\n res[item.name || key] = value;\n } catch (e) {\n if (e instanceof SerializerError) {\n throw e;\n } else {\n throw new SerializerError(schema.target.name, `Property \'${key}\' is wrong. ${e.message}`, e);\n }\n }\n }\n } else {\n res = {};\n for (const key in obj) {\n res[key] = this.toJSON(obj[key], { schemaName });\n }\n }\n } else {\n res = obj;\n }\n return res;\n }\n};\n__name(JsonSerializer, "JsonSerializer");\nvar JsonParser = class extends JsonTransform {\n static parse(data, options) {\n const obj = JSON.parse(data);\n return this.fromJSON(obj, options);\n }\n static fromJSON(target, options) {\n const targetSchema = options.targetSchema;\n const schemaName = options.schemaName || DEFAULT_SCHEMA;\n const obj = new targetSchema();\n if (isConvertible2(obj)) {\n return obj.fromJSON(target);\n }\n const schema = schemaStorage2.get(targetSchema);\n const namedSchema = this.getSchemaByName(schema, schemaName);\n const keyErrors = {};\n if (options.strictProperty && !Array.isArray(target)) {\n JsonParser.checkStrictProperty(target, namedSchema, schema);\n }\n for (const key in namedSchema) {\n try {\n const item = namedSchema[key];\n const name = item.name || key;\n const value = target[name];\n if (value === void 0 && (item.optional || item.defaultValue !== void 0)) {\n continue;\n }\n if (!item.optional && value === void 0) {\n throw new ParserError(schema, `Property \'${name}\' is required.`);\n }\n this.checkTypes(value, item);\n this.checkValues(value, item);\n if (typeof item.type === "number") {\n if (item.converter) {\n if (item.repeated) {\n obj[key] = value.map((el) => item.converter.fromJSON(el, obj));\n } else {\n obj[key] = item.converter.fromJSON(value, obj);\n }\n } else {\n obj[key] = value;\n }\n } else {\n const newOptions = {\n ...options,\n targetSchema: item.type,\n schemaName\n };\n if (item.repeated) {\n obj[key] = value.map((el) => this.fromJSON(el, newOptions));\n } else {\n obj[key] = this.fromJSON(value, newOptions);\n }\n }\n } catch (e) {\n if (!(e instanceof ParserError)) {\n e = new ParserError(schema, `Property \'${key}\' is wrong. ${e.message}`, e);\n }\n if (options.strictAllKeys) {\n keyErrors[key] = e;\n } else {\n throw e;\n }\n }\n }\n const keys = Object.keys(keyErrors);\n if (keys.length) {\n throw new KeyError(schema, keys, keyErrors);\n }\n return obj;\n }\n static checkStrictProperty(target, namedSchema, schema) {\n const jsonProps = Object.keys(target);\n const schemaProps = Object.keys(namedSchema);\n const keys = [];\n for (const key of jsonProps) {\n if (schemaProps.indexOf(key) === -1) {\n keys.push(key);\n }\n }\n if (keys.length) {\n throw new KeyError(schema, keys);\n }\n }\n};\n__name(JsonParser, "JsonParser");\nfunction getValidations(item) {\n const validations = [];\n if (item.pattern) {\n validations.push(new PatternValidation(item.pattern));\n }\n if (item.type === JsonPropTypes.Number || item.type === JsonPropTypes.Any) {\n if (item.minInclusive !== void 0 || item.maxInclusive !== void 0) {\n validations.push(new InclusiveValidation(item.minInclusive, item.maxInclusive));\n }\n if (item.minExclusive !== void 0 || item.maxExclusive !== void 0) {\n validations.push(new ExclusiveValidation(item.minExclusive, item.maxExclusive));\n }\n if (item.enumeration !== void 0) {\n validations.push(new EnumerationValidation(item.enumeration));\n }\n }\n if (item.type === JsonPropTypes.String || item.repeated || item.type === JsonPropTypes.Any) {\n if (item.length !== void 0 || item.minLength !== void 0 || item.maxLength !== void 0) {\n validations.push(new LengthValidation(item.length, item.minLength, item.maxLength));\n }\n }\n return validations;\n}\n__name(getValidations, "getValidations");\nvar JsonProp = /* @__PURE__ */ __name((options = {}) => (target, propertyKey) => {\n const errorMessage = `Cannot set type for ${propertyKey} property of ${target.constructor.name} schema`;\n let schema;\n if (!schemaStorage2.has(target.constructor)) {\n schema = schemaStorage2.create(target.constructor);\n schemaStorage2.set(target.constructor, schema);\n } else {\n schema = schemaStorage2.get(target.constructor);\n if (schema.target !== target.constructor) {\n schema = schemaStorage2.create(target.constructor);\n schemaStorage2.set(target.constructor, schema);\n }\n }\n const defaultSchema = {\n type: JsonPropTypes.Any,\n validations: []\n };\n const copyOptions = Object.assign(defaultSchema, options);\n copyOptions.validations = getValidations(copyOptions);\n if (typeof copyOptions.type !== "number") {\n if (!schemaStorage2.has(copyOptions.type) && !isConvertible2(copyOptions.type)) {\n throw new Error(`${errorMessage}. Assigning type doesn\'t have schema.`);\n }\n }\n let schemaNames;\n if (Array.isArray(options.schema)) {\n schemaNames = options.schema;\n } else {\n schemaNames = [options.schema || DEFAULT_SCHEMA];\n }\n for (const schemaName of schemaNames) {\n if (!schema.names[schemaName]) {\n schema.names[schemaName] = {};\n }\n const namedSchema = schema.names[schemaName];\n namedSchema[propertyKey] = copyOptions;\n }\n}, "JsonProp");\n\n// ../../node_modules/.pnpm/webcrypto-core@1.7.7/node_modules/webcrypto-core/build/webcrypto-core.es.js\nvar CryptoError = class extends Error {\n};\n__name(CryptoError, "CryptoError");\nvar AlgorithmError = class extends CryptoError {\n};\n__name(AlgorithmError, "AlgorithmError");\nvar UnsupportedOperationError = class extends CryptoError {\n constructor(methodName) {\n super(`Unsupported operation: ${methodName ? `${methodName}` : ""}`);\n }\n};\n__name(UnsupportedOperationError, "UnsupportedOperationError");\nvar OperationError = class extends CryptoError {\n};\n__name(OperationError, "OperationError");\nvar RequiredPropertyError = class extends CryptoError {\n constructor(propName) {\n super(`${propName}: Missing required property`);\n }\n};\n__name(RequiredPropertyError, "RequiredPropertyError");\nfunction isJWK(data) {\n return typeof data === "object" && "kty" in data;\n}\n__name(isJWK, "isJWK");\nvar ProviderCrypto = class {\n async digest(...args) {\n this.checkDigest.apply(this, args);\n return this.onDigest.apply(this, args);\n }\n checkDigest(algorithm, data) {\n this.checkAlgorithmName(algorithm);\n }\n async onDigest(algorithm, data) {\n throw new UnsupportedOperationError("digest");\n }\n async generateKey(...args) {\n this.checkGenerateKey.apply(this, args);\n return this.onGenerateKey.apply(this, args);\n }\n checkGenerateKey(algorithm, extractable, keyUsages, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkGenerateKeyParams(algorithm);\n if (!(keyUsages && keyUsages.length)) {\n throw new TypeError(`Usages cannot be empty when creating a key.`);\n }\n let allowedUsages;\n if (Array.isArray(this.usages)) {\n allowedUsages = this.usages;\n } else {\n allowedUsages = this.usages.privateKey.concat(this.usages.publicKey);\n }\n this.checkKeyUsages(keyUsages, allowedUsages);\n }\n checkGenerateKeyParams(algorithm) {\n }\n async onGenerateKey(algorithm, extractable, keyUsages, ...args) {\n throw new UnsupportedOperationError("generateKey");\n }\n async sign(...args) {\n this.checkSign.apply(this, args);\n return this.onSign.apply(this, args);\n }\n checkSign(algorithm, key, data, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, "sign");\n }\n async onSign(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("sign");\n }\n async verify(...args) {\n this.checkVerify.apply(this, args);\n return this.onVerify.apply(this, args);\n }\n checkVerify(algorithm, key, signature, data, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, "verify");\n }\n async onVerify(algorithm, key, signature, data, ...args) {\n throw new UnsupportedOperationError("verify");\n }\n async encrypt(...args) {\n this.checkEncrypt.apply(this, args);\n return this.onEncrypt.apply(this, args);\n }\n checkEncrypt(algorithm, key, data, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, options.keyUsage ? "encrypt" : void 0);\n }\n async onEncrypt(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("encrypt");\n }\n async decrypt(...args) {\n this.checkDecrypt.apply(this, args);\n return this.onDecrypt.apply(this, args);\n }\n checkDecrypt(algorithm, key, data, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(key, options.keyUsage ? "decrypt" : void 0);\n }\n async onDecrypt(algorithm, key, data, ...args) {\n throw new UnsupportedOperationError("decrypt");\n }\n async deriveBits(...args) {\n this.checkDeriveBits.apply(this, args);\n return this.onDeriveBits.apply(this, args);\n }\n checkDeriveBits(algorithm, baseKey, length, options = {}, ...args) {\n this.checkAlgorithmName(algorithm);\n this.checkAlgorithmParams(algorithm);\n this.checkCryptoKey(baseKey, options.keyUsage ? "deriveBits" : void 0);\n if (length % 8 !== 0) {\n throw new OperationError("length: Is not multiple of 8");\n }\n }\n async onDeriveBits(algorithm, baseKey, length, ...args) {\n throw new UnsupportedOperationError("deriveBits");\n }\n async exportKey(...args) {\n this.checkExportKey.apply(this, args);\n return this.onExportKey.apply(this, args);\n }\n checkExportKey(format, key, ...args) {\n this.checkKeyFormat(format);\n this.checkCryptoKey(key);\n if (!key.extractable) {\n throw new CryptoError("key: Is not extractable");\n }\n }\n async onExportKey(format, key, ...args) {\n throw new UnsupportedOperationError("exportKey");\n }\n async importKey(...args) {\n this.checkImportKey.apply(this, args);\n return this.onImportKey.apply(this, args);\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n this.checkKeyFormat(format);\n this.checkKeyData(format, keyData);\n this.checkAlgorithmName(algorithm);\n this.checkImportParams(algorithm);\n if (Array.isArray(this.usages)) {\n this.checkKeyUsages(keyUsages, this.usages);\n }\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n throw new UnsupportedOperationError("importKey");\n }\n checkAlgorithmName(algorithm) {\n if (algorithm.name.toLowerCase() !== this.name.toLowerCase()) {\n throw new AlgorithmError("Unrecognized name");\n }\n }\n checkAlgorithmParams(algorithm) {\n }\n checkDerivedKeyParams(algorithm) {\n }\n checkKeyUsages(usages, allowed) {\n for (const usage of usages) {\n if (allowed.indexOf(usage) === -1) {\n throw new TypeError("Cannot create a key using the specified key usages");\n }\n }\n }\n checkCryptoKey(key, keyUsage) {\n this.checkAlgorithmName(key.algorithm);\n if (keyUsage && key.usages.indexOf(keyUsage) === -1) {\n throw new CryptoError(`key does not match that of operation`);\n }\n }\n checkRequiredProperty(data, propName) {\n if (!(propName in data)) {\n throw new RequiredPropertyError(propName);\n }\n }\n checkHashAlgorithm(algorithm, hashAlgorithms) {\n for (const item of hashAlgorithms) {\n if (item.toLowerCase() === algorithm.name.toLowerCase()) {\n return;\n }\n }\n throw new OperationError(`hash: Must be one of ${hashAlgorithms.join(", ")}`);\n }\n checkImportParams(algorithm) {\n }\n checkKeyFormat(format) {\n switch (format) {\n case "raw":\n case "pkcs8":\n case "spki":\n case "jwk":\n break;\n default:\n throw new TypeError("format: Is invalid value. Must be \'jwk\', \'raw\', \'spki\', or \'pkcs8\'");\n }\n }\n checkKeyData(format, keyData) {\n if (!keyData) {\n throw new TypeError("keyData: Cannot be empty on empty on key importing");\n }\n if (format === "jwk") {\n if (!isJWK(keyData)) {\n throw new TypeError("keyData: Is not JsonWebToken");\n }\n } else if (!BufferSourceConverter.isBufferSource(keyData)) {\n throw new TypeError("keyData: Is not ArrayBufferView or ArrayBuffer");\n }\n }\n prepareData(data) {\n return BufferSourceConverter.toArrayBuffer(data);\n }\n};\n__name(ProviderCrypto, "ProviderCrypto");\nvar AesProvider = class extends ProviderCrypto {\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not of type Number");\n }\n switch (algorithm.length) {\n case 128:\n case 192:\n case 256:\n break;\n default:\n throw new TypeError("length: Must be 128, 192, or 256");\n }\n }\n checkDerivedKeyParams(algorithm) {\n this.checkGenerateKeyParams(algorithm);\n }\n};\n__name(AesProvider, "AesProvider");\nvar AesCbcProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CBC";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength !== 16) {\n throw new TypeError("iv: Must have length 16 bytes");\n }\n }\n};\n__name(AesCbcProvider, "AesCbcProvider");\nvar AesCmacProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CMAC";\n this.usages = ["sign", "verify"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new OperationError("length: Must be more than 0");\n }\n }\n};\n__name(AesCmacProvider, "AesCmacProvider");\nvar AesCtrProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-CTR";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "counter");\n if (!(algorithm.counter instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.counter))) {\n throw new TypeError("counter: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.counter.byteLength !== 16) {\n throw new TypeError("iv: Must have length 16 bytes");\n }\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new OperationError("length: Must be more than 0");\n }\n }\n};\n__name(AesCtrProvider, "AesCtrProvider");\nvar AesEcbProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-ECB";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n};\n__name(AesEcbProvider, "AesEcbProvider");\nvar AesGcmProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-GCM";\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength < 1) {\n throw new OperationError("iv: Must have length more than 0 and less than 2^64 - 1");\n }\n if (!("tagLength" in algorithm)) {\n algorithm.tagLength = 128;\n }\n switch (algorithm.tagLength) {\n case 32:\n case 64:\n case 96:\n case 104:\n case 112:\n case 120:\n case 128:\n break;\n default:\n throw new OperationError("tagLength: Must be one of 32, 64, 96, 104, 112, 120 or 128");\n }\n }\n};\n__name(AesGcmProvider, "AesGcmProvider");\nvar AesKwProvider = class extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-KW";\n this.usages = ["wrapKey", "unwrapKey"];\n }\n};\n__name(AesKwProvider, "AesKwProvider");\nvar DesProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.usages = ["encrypt", "decrypt", "wrapKey", "unwrapKey"];\n }\n checkAlgorithmParams(algorithm) {\n if (this.ivSize) {\n this.checkRequiredProperty(algorithm, "iv");\n if (!(algorithm.iv instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.iv))) {\n throw new TypeError("iv: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n if (algorithm.iv.byteLength !== this.ivSize) {\n throw new TypeError(`iv: Must have length ${this.ivSize} bytes`);\n }\n }\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "length");\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not of type Number");\n }\n if (algorithm.length !== this.keySizeBits) {\n throw new OperationError(`algorithm.length: Must be ${this.keySizeBits}`);\n }\n }\n checkDerivedKeyParams(algorithm) {\n this.checkGenerateKeyParams(algorithm);\n }\n};\n__name(DesProvider, "DesProvider");\nvar RsaProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "publicExponent");\n if (!(algorithm.publicExponent && algorithm.publicExponent instanceof Uint8Array)) {\n throw new TypeError("publicExponent: Missing or not a Uint8Array");\n }\n const publicExponent = Convert.ToBase64(algorithm.publicExponent);\n if (!(publicExponent === "Aw==" || publicExponent === "AQAB")) {\n throw new TypeError("publicExponent: Must be [3] or [1,0,1]");\n }\n this.checkRequiredProperty(algorithm, "modulusLength");\n if (algorithm.modulusLength % 8 || algorithm.modulusLength < 256 || algorithm.modulusLength > 16384) {\n throw new TypeError("The modulus length must be a multiple of 8 bits and >= 256 and <= 16384");\n }\n }\n checkImportParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(RsaProvider, "RsaProvider");\nvar RsaSsaProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSASSA-PKCS1-v1_5";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n }\n};\n__name(RsaSsaProvider, "RsaSsaProvider");\nvar RsaPssProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSA-PSS";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "saltLength");\n if (typeof algorithm.saltLength !== "number") {\n throw new TypeError("saltLength: Is not a Number");\n }\n if (algorithm.saltLength < 0) {\n throw new RangeError("saltLength: Must be positive number");\n }\n }\n};\n__name(RsaPssProvider, "RsaPssProvider");\nvar RsaOaepProvider = class extends RsaProvider {\n constructor() {\n super(...arguments);\n this.name = "RSA-OAEP";\n this.usages = {\n privateKey: ["decrypt", "unwrapKey"],\n publicKey: ["encrypt", "wrapKey"]\n };\n }\n checkAlgorithmParams(algorithm) {\n if (algorithm.label && !(algorithm.label instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.label))) {\n throw new TypeError("label: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n }\n};\n__name(RsaOaepProvider, "RsaOaepProvider");\nvar EllipticProvider = class extends ProviderCrypto {\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "namedCurve");\n this.checkNamedCurve(algorithm.namedCurve);\n }\n checkNamedCurve(namedCurve) {\n for (const item of this.namedCurves) {\n if (item.toLowerCase() === namedCurve.toLowerCase()) {\n return;\n }\n }\n throw new OperationError(`namedCurve: Must be one of ${this.namedCurves.join(", ")}`);\n }\n};\n__name(EllipticProvider, "EllipticProvider");\nvar EcdsaProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDSA";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n this.namedCurves = ["P-256", "P-384", "P-521", "K-256"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(EcdsaProvider, "EcdsaProvider");\nvar KEY_TYPES = ["secret", "private", "public"];\nvar CryptoKey = class {\n static create(algorithm, type, extractable, usages) {\n const key = new this();\n key.algorithm = algorithm;\n key.type = type;\n key.extractable = extractable;\n key.usages = usages;\n return key;\n }\n static isKeyType(data) {\n return KEY_TYPES.indexOf(data) !== -1;\n }\n get [Symbol.toStringTag]() {\n return "CryptoKey";\n }\n};\n__name(CryptoKey, "CryptoKey");\nvar EcdhProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDH";\n this.usages = {\n privateKey: ["deriveBits", "deriveKey"],\n publicKey: []\n };\n this.namedCurves = ["P-256", "P-384", "P-521", "K-256"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "public");\n if (!(algorithm.public instanceof CryptoKey)) {\n throw new TypeError("public: Is not a CryptoKey");\n }\n if (algorithm.public.type !== "public") {\n throw new OperationError("public: Is not a public key");\n }\n if (algorithm.public.algorithm.name !== this.name) {\n throw new OperationError(`public: Is not ${this.name} key`);\n }\n }\n};\n__name(EcdhProvider, "EcdhProvider");\nvar EcdhEsProvider = class extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDH-ES";\n this.namedCurves = ["X25519", "X448"];\n }\n};\n__name(EcdhEsProvider, "EcdhEsProvider");\nvar EdDsaProvider = class extends EllipticProvider {\n constructor() {\n super(...arguments);\n this.name = "EdDSA";\n this.usages = {\n privateKey: ["sign"],\n publicKey: ["verify"]\n };\n this.namedCurves = ["Ed25519", "Ed448"];\n }\n};\n__name(EdDsaProvider, "EdDsaProvider");\nvar ObjectIdentifier2 = /* @__PURE__ */ __name(class ObjectIdentifier3 {\n constructor(value) {\n if (value) {\n this.value = value;\n }\n }\n}, "ObjectIdentifier");\n__decorate([\n AsnProp({ type: AsnPropTypes.ObjectIdentifier })\n], ObjectIdentifier2.prototype, "value", void 0);\nObjectIdentifier2 = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], ObjectIdentifier2);\nvar AlgorithmIdentifier = class {\n constructor(params) {\n Object.assign(this, params);\n }\n};\n__name(AlgorithmIdentifier, "AlgorithmIdentifier");\n__decorate([\n AsnProp({\n type: AsnPropTypes.ObjectIdentifier\n })\n], AlgorithmIdentifier.prototype, "algorithm", void 0);\n__decorate([\n AsnProp({\n type: AsnPropTypes.Any,\n optional: true\n })\n], AlgorithmIdentifier.prototype, "parameters", void 0);\nvar PrivateKeyInfo = class {\n constructor() {\n this.version = 0;\n this.privateKeyAlgorithm = new AlgorithmIdentifier();\n this.privateKey = new ArrayBuffer(0);\n }\n};\n__name(PrivateKeyInfo, "PrivateKeyInfo");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], PrivateKeyInfo.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AlgorithmIdentifier })\n], PrivateKeyInfo.prototype, "privateKeyAlgorithm", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], PrivateKeyInfo.prototype, "privateKey", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Any, optional: true })\n], PrivateKeyInfo.prototype, "attributes", void 0);\nvar PublicKeyInfo = class {\n constructor() {\n this.publicKeyAlgorithm = new AlgorithmIdentifier();\n this.publicKey = new ArrayBuffer(0);\n }\n};\n__name(PublicKeyInfo, "PublicKeyInfo");\n__decorate([\n AsnProp({ type: AlgorithmIdentifier })\n], PublicKeyInfo.prototype, "publicKeyAlgorithm", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], PublicKeyInfo.prototype, "publicKey", void 0);\nvar JsonBase64UrlArrayBufferConverter = {\n fromJSON: (value) => Convert.FromBase64Url(value),\n toJSON: (value) => Convert.ToBase64Url(new Uint8Array(value))\n};\nvar AsnIntegerArrayBufferConverter = {\n fromASN: (value) => {\n const valueHex = value.valueBlock.valueHex;\n return !new Uint8Array(valueHex)[0] ? value.valueBlock.valueHex.slice(1) : value.valueBlock.valueHex;\n },\n toASN: (value) => {\n const valueHex = new Uint8Array(value)[0] > 127 ? combine(new Uint8Array([0]).buffer, value) : value;\n return new Integer({ valueHex });\n }\n};\nvar RsaPrivateKey = class {\n constructor() {\n this.version = 0;\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n this.privateExponent = new ArrayBuffer(0);\n this.prime1 = new ArrayBuffer(0);\n this.prime2 = new ArrayBuffer(0);\n this.exponent1 = new ArrayBuffer(0);\n this.exponent2 = new ArrayBuffer(0);\n this.coefficient = new ArrayBuffer(0);\n }\n};\n__name(RsaPrivateKey, "RsaPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerConverter })\n], RsaPrivateKey.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "n", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "modulus", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "e", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "publicExponent", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "d", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "privateExponent", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "p", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "prime1", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "q", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "prime2", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "dp", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "exponent1", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "dq", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "exponent2", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "qi", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPrivateKey.prototype, "coefficient", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Any, optional: true })\n], RsaPrivateKey.prototype, "otherPrimeInfos", void 0);\nvar RsaPublicKey = class {\n constructor() {\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n }\n};\n__name(RsaPublicKey, "RsaPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "n", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPublicKey.prototype, "modulus", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter }),\n JsonProp({ name: "e", converter: JsonBase64UrlArrayBufferConverter })\n], RsaPublicKey.prototype, "publicExponent", void 0);\nvar EcPublicKey = /* @__PURE__ */ __name(class EcPublicKey2 {\n constructor(value) {\n this.value = new ArrayBuffer(0);\n if (value) {\n this.value = value;\n }\n }\n toJSON() {\n let bytes = new Uint8Array(this.value);\n if (bytes[0] !== 4) {\n throw new CryptoError("Wrong ECPoint. Current version supports only Uncompressed (0x04) point");\n }\n bytes = new Uint8Array(this.value.slice(1));\n const size = bytes.length / 2;\n const offset = 0;\n const json = {\n x: Convert.ToBase64Url(bytes.buffer.slice(offset, offset + size)),\n y: Convert.ToBase64Url(bytes.buffer.slice(offset + size, offset + size + size))\n };\n return json;\n }\n fromJSON(json) {\n if (!("x" in json)) {\n throw new Error("x: Missing required property");\n }\n if (!("y" in json)) {\n throw new Error("y: Missing required property");\n }\n const x = Convert.FromBase64Url(json.x);\n const y = Convert.FromBase64Url(json.y);\n const value = combine(new Uint8Array([4]).buffer, x, y);\n this.value = new Uint8Array(value).buffer;\n return this;\n }\n}, "EcPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EcPublicKey.prototype, "value", void 0);\nEcPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EcPublicKey);\nvar EcPrivateKey = class {\n constructor() {\n this.version = 1;\n this.privateKey = new ArrayBuffer(0);\n }\n fromJSON(json) {\n if (!("d" in json)) {\n throw new Error("d: Missing required property");\n }\n this.privateKey = Convert.FromBase64Url(json.d);\n if ("x" in json) {\n const publicKey = new EcPublicKey();\n publicKey.fromJSON(json);\n const asn = AsnSerializer.toASN(publicKey);\n if ("valueHex" in asn.valueBlock) {\n this.publicKey = asn.valueBlock.valueHex;\n }\n }\n return this;\n }\n toJSON() {\n const jwk = {};\n jwk.d = Convert.ToBase64Url(this.privateKey);\n if (this.publicKey) {\n Object.assign(jwk, new EcPublicKey(this.publicKey).toJSON());\n }\n return jwk;\n }\n};\n__name(EcPrivateKey, "EcPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerConverter })\n], EcPrivateKey.prototype, "version", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EcPrivateKey.prototype, "privateKey", void 0);\n__decorate([\n AsnProp({ context: 0, type: AsnPropTypes.Any, optional: true })\n], EcPrivateKey.prototype, "parameters", void 0);\n__decorate([\n AsnProp({ context: 1, type: AsnPropTypes.BitString, optional: true })\n], EcPrivateKey.prototype, "publicKey", void 0);\nvar AsnIntegerWithoutPaddingConverter = {\n fromASN: (value) => {\n const bytes = new Uint8Array(value.valueBlock.valueHex);\n return bytes[0] === 0 ? bytes.buffer.slice(1) : bytes.buffer;\n },\n toASN: (value) => {\n const bytes = new Uint8Array(value);\n if (bytes[0] > 127) {\n const newValue = new Uint8Array(bytes.length + 1);\n newValue.set(bytes, 1);\n return new Integer({ valueHex: newValue.buffer });\n }\n return new Integer({ valueHex: value });\n }\n};\nvar index$2 = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n AsnIntegerWithoutPaddingConverter\n});\nvar EcUtils = class {\n static decodePoint(data, pointSize) {\n const view = BufferSourceConverter.toUint8Array(data);\n if (view.length === 0 || view[0] !== 4) {\n throw new Error("Only uncompressed point format supported");\n }\n const n = (view.length - 1) / 2;\n if (n !== Math.ceil(pointSize / 8)) {\n throw new Error("Point does not match field size");\n }\n const xb = view.slice(1, n + 1);\n const yb = view.slice(n + 1, n + 1 + n);\n return { x: xb, y: yb };\n }\n static encodePoint(point, pointSize) {\n const size = Math.ceil(pointSize / 8);\n if (point.x.byteLength !== size || point.y.byteLength !== size) {\n throw new Error("X,Y coordinates don\'t match point size criteria");\n }\n const x = BufferSourceConverter.toUint8Array(point.x);\n const y = BufferSourceConverter.toUint8Array(point.y);\n const res = new Uint8Array(size * 2 + 1);\n res[0] = 4;\n res.set(x, 1);\n res.set(y, size + 1);\n return res;\n }\n static getSize(pointSize) {\n return Math.ceil(pointSize / 8);\n }\n static encodeSignature(signature, pointSize) {\n const size = this.getSize(pointSize);\n const r = BufferSourceConverter.toUint8Array(signature.r);\n const s = BufferSourceConverter.toUint8Array(signature.s);\n const res = new Uint8Array(size * 2);\n res.set(this.padStart(r, size));\n res.set(this.padStart(s, size), size);\n return res;\n }\n static decodeSignature(data, pointSize) {\n const size = this.getSize(pointSize);\n const view = BufferSourceConverter.toUint8Array(data);\n if (view.length !== size * 2) {\n throw new Error("Incorrect size of the signature");\n }\n const r = view.slice(0, size);\n const s = view.slice(size);\n return {\n r: this.trimStart(r),\n s: this.trimStart(s)\n };\n }\n static trimStart(data) {\n let i = 0;\n while (i < data.length - 1 && data[i] === 0) {\n i++;\n }\n if (i === 0) {\n return data;\n }\n return data.slice(i, data.length);\n }\n static padStart(data, size) {\n if (size === data.length) {\n return data;\n }\n const res = new Uint8Array(size);\n res.set(data, size - data.length);\n return res;\n }\n};\n__name(EcUtils, "EcUtils");\nvar EcDsaSignature = class {\n constructor() {\n this.r = new ArrayBuffer(0);\n this.s = new ArrayBuffer(0);\n }\n static fromWebCryptoSignature(value) {\n const pointSize = value.byteLength / 2;\n const point = EcUtils.decodeSignature(value, pointSize * 8);\n const ecSignature = new EcDsaSignature();\n ecSignature.r = BufferSourceConverter.toArrayBuffer(point.r);\n ecSignature.s = BufferSourceConverter.toArrayBuffer(point.s);\n return ecSignature;\n }\n toWebCryptoSignature(pointSize) {\n pointSize !== null && pointSize !== void 0 ? pointSize : pointSize = Math.max(this.r.byteLength, this.s.byteLength) * 8;\n const signature = EcUtils.encodeSignature(this, pointSize);\n return signature.buffer;\n }\n};\n__name(EcDsaSignature, "EcDsaSignature");\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerWithoutPaddingConverter })\n], EcDsaSignature.prototype, "r", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerWithoutPaddingConverter })\n], EcDsaSignature.prototype, "s", void 0);\nvar OneAsymmetricKey = class extends PrivateKeyInfo {\n};\n__name(OneAsymmetricKey, "OneAsymmetricKey");\n__decorate([\n AsnProp({ context: 1, implicit: true, type: AsnPropTypes.BitString, optional: true })\n], OneAsymmetricKey.prototype, "publicKey", void 0);\nvar EdPrivateKey = /* @__PURE__ */ __name(class EdPrivateKey2 {\n constructor() {\n this.value = new ArrayBuffer(0);\n }\n fromJSON(json) {\n if (!json.d) {\n throw new Error("d: Missing required property");\n }\n this.value = Convert.FromBase64Url(json.d);\n return this;\n }\n toJSON() {\n const jwk = {\n d: Convert.ToBase64Url(this.value)\n };\n return jwk;\n }\n}, "EdPrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EdPrivateKey.prototype, "value", void 0);\nEdPrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPrivateKey);\nvar EdPublicKey = /* @__PURE__ */ __name(class EdPublicKey2 {\n constructor(value) {\n this.value = new ArrayBuffer(0);\n if (value) {\n this.value = value;\n }\n }\n toJSON() {\n const json = {\n x: Convert.ToBase64Url(this.value)\n };\n return json;\n }\n fromJSON(json) {\n if (!("x" in json)) {\n throw new Error("x: Missing required property");\n }\n this.value = Convert.FromBase64Url(json.x);\n return this;\n }\n}, "EdPublicKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], EdPublicKey.prototype, "value", void 0);\nEdPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPublicKey);\nvar CurvePrivateKey = /* @__PURE__ */ __name(class CurvePrivateKey2 {\n}, "CurvePrivateKey");\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString }),\n JsonProp({ type: JsonPropTypes.String, converter: JsonBase64UrlArrayBufferConverter })\n], CurvePrivateKey.prototype, "d", void 0);\nCurvePrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], CurvePrivateKey);\nvar idSecp256r1 = "1.2.840.10045.3.1.7";\nvar idEllipticCurve = "1.3.132.0";\nvar idSecp384r1 = `${idEllipticCurve}.34`;\nvar idSecp521r1 = `${idEllipticCurve}.35`;\nvar idSecp256k1 = `${idEllipticCurve}.10`;\nvar idVersionOne = "1.3.36.3.3.2.8.1.1";\nvar idBrainpoolP160r1 = `${idVersionOne}.1`;\nvar idBrainpoolP160t1 = `${idVersionOne}.2`;\nvar idBrainpoolP192r1 = `${idVersionOne}.3`;\nvar idBrainpoolP192t1 = `${idVersionOne}.4`;\nvar idBrainpoolP224r1 = `${idVersionOne}.5`;\nvar idBrainpoolP224t1 = `${idVersionOne}.6`;\nvar idBrainpoolP256r1 = `${idVersionOne}.7`;\nvar idBrainpoolP256t1 = `${idVersionOne}.8`;\nvar idBrainpoolP320r1 = `${idVersionOne}.9`;\nvar idBrainpoolP320t1 = `${idVersionOne}.10`;\nvar idBrainpoolP384r1 = `${idVersionOne}.11`;\nvar idBrainpoolP384t1 = `${idVersionOne}.12`;\nvar idBrainpoolP512r1 = `${idVersionOne}.13`;\nvar idBrainpoolP512t1 = `${idVersionOne}.14`;\nvar idX25519 = "1.3.101.110";\nvar idX448 = "1.3.101.111";\nvar idEd25519 = "1.3.101.112";\nvar idEd448 = "1.3.101.113";\nvar index$1 = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n AlgorithmIdentifier,\n get CurvePrivateKey() {\n return CurvePrivateKey;\n },\n EcDsaSignature,\n EcPrivateKey,\n get EcPublicKey() {\n return EcPublicKey;\n },\n get EdPrivateKey() {\n return EdPrivateKey;\n },\n get EdPublicKey() {\n return EdPublicKey;\n },\n get ObjectIdentifier() {\n return ObjectIdentifier2;\n },\n OneAsymmetricKey,\n PrivateKeyInfo,\n PublicKeyInfo,\n RsaPrivateKey,\n RsaPublicKey,\n converters: index$2,\n idBrainpoolP160r1,\n idBrainpoolP160t1,\n idBrainpoolP192r1,\n idBrainpoolP192t1,\n idBrainpoolP224r1,\n idBrainpoolP224t1,\n idBrainpoolP256r1,\n idBrainpoolP256t1,\n idBrainpoolP320r1,\n idBrainpoolP320t1,\n idBrainpoolP384r1,\n idBrainpoolP384t1,\n idBrainpoolP512r1,\n idBrainpoolP512t1,\n idEd25519,\n idEd448,\n idEllipticCurve,\n idSecp256k1,\n idSecp256r1,\n idSecp384r1,\n idSecp521r1,\n idVersionOne,\n idX25519,\n idX448\n});\nvar EcCurves = class {\n constructor() {\n }\n static register(item) {\n const oid = new ObjectIdentifier2();\n oid.value = item.id;\n const raw = AsnConvert.serialize(oid);\n this.items.push({\n ...item,\n raw\n });\n this.names.push(item.name);\n }\n static find(nameOrId) {\n nameOrId = nameOrId.toUpperCase();\n for (const item of this.items) {\n if (item.name.toUpperCase() === nameOrId || item.id.toUpperCase() === nameOrId) {\n return item;\n }\n }\n return null;\n }\n static get(nameOrId) {\n const res = this.find(nameOrId);\n if (!res) {\n throw new Error(`Unsupported EC named curve \'${nameOrId}\'`);\n }\n return res;\n }\n};\n__name(EcCurves, "EcCurves");\nEcCurves.items = [];\nEcCurves.names = [];\nEcCurves.register({ name: "P-256", id: idSecp256r1, size: 256 });\nEcCurves.register({ name: "P-384", id: idSecp384r1, size: 384 });\nEcCurves.register({ name: "P-521", id: idSecp521r1, size: 521 });\nEcCurves.register({ name: "K-256", id: idSecp256k1, size: 256 });\nEcCurves.register({ name: "brainpoolP160r1", id: idBrainpoolP160r1, size: 160 });\nEcCurves.register({ name: "brainpoolP160t1", id: idBrainpoolP160t1, size: 160 });\nEcCurves.register({ name: "brainpoolP192r1", id: idBrainpoolP192r1, size: 192 });\nEcCurves.register({ name: "brainpoolP192t1", id: idBrainpoolP192t1, size: 192 });\nEcCurves.register({ name: "brainpoolP224r1", id: idBrainpoolP224r1, size: 224 });\nEcCurves.register({ name: "brainpoolP224t1", id: idBrainpoolP224t1, size: 224 });\nEcCurves.register({ name: "brainpoolP256r1", id: idBrainpoolP256r1, size: 256 });\nEcCurves.register({ name: "brainpoolP256t1", id: idBrainpoolP256t1, size: 256 });\nEcCurves.register({ name: "brainpoolP320r1", id: idBrainpoolP320r1, size: 320 });\nEcCurves.register({ name: "brainpoolP320t1", id: idBrainpoolP320t1, size: 320 });\nEcCurves.register({ name: "brainpoolP384r1", id: idBrainpoolP384r1, size: 384 });\nEcCurves.register({ name: "brainpoolP384t1", id: idBrainpoolP384t1, size: 384 });\nEcCurves.register({ name: "brainpoolP512r1", id: idBrainpoolP512r1, size: 512 });\nEcCurves.register({ name: "brainpoolP512t1", id: idBrainpoolP512t1, size: 512 });\nvar HmacProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "HMAC";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["sign", "verify"];\n }\n getDefaultLength(algName) {\n switch (algName.toUpperCase()) {\n case "SHA-1":\n case "SHA-256":\n case "SHA-384":\n case "SHA-512":\n return 512;\n default:\n throw new Error(`Unknown algorithm name \'${algName}\'`);\n }\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n if ("length" in algorithm) {\n if (typeof algorithm.length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (algorithm.length < 1) {\n throw new RangeError("length: Number is out of range");\n }\n }\n }\n checkImportParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n }\n};\n__name(HmacProvider, "HmacProvider");\nvar Pbkdf2Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "PBKDF2";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["deriveBits", "deriveKey"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "salt");\n if (!(algorithm.salt instanceof ArrayBuffer || ArrayBuffer.isView(algorithm.salt))) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n this.checkRequiredProperty(algorithm, "iterations");\n if (typeof algorithm.iterations !== "number") {\n throw new TypeError("iterations: Is not a Number");\n }\n if (algorithm.iterations < 1) {\n throw new TypeError("iterations: Is less than 1");\n }\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n super.checkImportKey(format, keyData, algorithm, extractable, keyUsages);\n if (extractable) {\n throw new SyntaxError("extractable: Must be \'false\'");\n }\n }\n};\n__name(Pbkdf2Provider, "Pbkdf2Provider");\nvar HkdfProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "HKDF";\n this.hashAlgorithms = ["SHA-1", "SHA-256", "SHA-384", "SHA-512"];\n this.usages = ["deriveKey", "deriveBits"];\n }\n checkAlgorithmParams(algorithm) {\n this.checkRequiredProperty(algorithm, "hash");\n this.checkHashAlgorithm(algorithm.hash, this.hashAlgorithms);\n this.checkRequiredProperty(algorithm, "salt");\n if (!BufferSourceConverter.isBufferSource(algorithm.salt)) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n this.checkRequiredProperty(algorithm, "info");\n if (!BufferSourceConverter.isBufferSource(algorithm.info)) {\n throw new TypeError("salt: Is not of type \'(ArrayBuffer or ArrayBufferView)\'");\n }\n }\n checkImportKey(format, keyData, algorithm, extractable, keyUsages, ...args) {\n super.checkImportKey(format, keyData, algorithm, extractable, keyUsages);\n if (extractable) {\n throw new SyntaxError("extractable: Must be \'false\'");\n }\n }\n};\n__name(HkdfProvider, "HkdfProvider");\nvar ShakeProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.usages = [];\n this.defaultLength = 0;\n }\n digest(...args) {\n args[0] = { length: this.defaultLength, ...args[0] };\n return super.digest.apply(this, args);\n }\n checkDigest(algorithm, data) {\n super.checkDigest(algorithm, data);\n const length = algorithm.length || 0;\n if (typeof length !== "number") {\n throw new TypeError("length: Is not a Number");\n }\n if (length < 0) {\n throw new TypeError("length: Is negative");\n }\n }\n};\n__name(ShakeProvider, "ShakeProvider");\nvar Shake128Provider = class extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake128";\n this.defaultLength = 16;\n }\n};\n__name(Shake128Provider, "Shake128Provider");\nvar Shake256Provider = class extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake256";\n this.defaultLength = 32;\n }\n};\n__name(Shake256Provider, "Shake256Provider");\nvar Crypto = class {\n get [Symbol.toStringTag]() {\n return "Crypto";\n }\n randomUUID() {\n const b = this.getRandomValues(new Uint8Array(16));\n b[6] = b[6] & 15 | 64;\n b[8] = b[8] & 63 | 128;\n const uuid = Convert.ToHex(b).toLowerCase();\n return `${uuid.substring(0, 8)}-${uuid.substring(8, 12)}-${uuid.substring(12, 16)}-${uuid.substring(16, 20)}-${uuid.substring(20)}`;\n }\n};\n__name(Crypto, "Crypto");\nvar ProviderStorage = class {\n constructor() {\n this.items = {};\n }\n get(algorithmName) {\n return this.items[algorithmName.toLowerCase()] || null;\n }\n set(provider) {\n this.items[provider.name.toLowerCase()] = provider;\n }\n removeAt(algorithmName) {\n const provider = this.get(algorithmName.toLowerCase());\n if (provider) {\n delete this.items[algorithmName];\n }\n return provider;\n }\n has(name) {\n return !!this.get(name);\n }\n get length() {\n return Object.keys(this.items).length;\n }\n get algorithms() {\n const algorithms = [];\n for (const key in this.items) {\n const provider = this.items[key];\n algorithms.push(provider.name);\n }\n return algorithms.sort();\n }\n};\n__name(ProviderStorage, "ProviderStorage");\nvar SubtleCrypto = class {\n constructor() {\n this.providers = new ProviderStorage();\n }\n static isHashedAlgorithm(data) {\n return data && typeof data === "object" && "name" in data && "hash" in data ? true : false;\n }\n get [Symbol.toStringTag]() {\n return "SubtleCrypto";\n }\n async digest(...args) {\n this.checkRequiredArguments(args, 2, "digest");\n const [algorithm, data, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.digest(preparedAlgorithm, preparedData, ...params);\n return result;\n }\n async generateKey(...args) {\n this.checkRequiredArguments(args, 3, "generateKey");\n const [algorithm, extractable, keyUsages, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.generateKey({ ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n return result;\n }\n async sign(...args) {\n this.checkRequiredArguments(args, 3, "sign");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.sign({ ...preparedAlgorithm, name: provider.name }, key, preparedData, ...params);\n return result;\n }\n async verify(...args) {\n this.checkRequiredArguments(args, 4, "verify");\n const [algorithm, key, signature, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const preparedSignature = BufferSourceConverter.toArrayBuffer(signature);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.verify({ ...preparedAlgorithm, name: provider.name }, key, preparedSignature, preparedData, ...params);\n return result;\n }\n async encrypt(...args) {\n this.checkRequiredArguments(args, 3, "encrypt");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.encrypt({ ...preparedAlgorithm, name: provider.name }, key, preparedData, { keyUsage: true }, ...params);\n return result;\n }\n async decrypt(...args) {\n this.checkRequiredArguments(args, 3, "decrypt");\n const [algorithm, key, data, ...params] = args;\n this.checkCryptoKey(key);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(data);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.decrypt({ ...preparedAlgorithm, name: provider.name }, key, preparedData, { keyUsage: true }, ...params);\n return result;\n }\n async deriveBits(...args) {\n this.checkRequiredArguments(args, 3, "deriveBits");\n const [algorithm, baseKey, length, ...params] = args;\n this.checkCryptoKey(baseKey);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n const result = await provider.deriveBits({ ...preparedAlgorithm, name: provider.name }, baseKey, length, { keyUsage: true }, ...params);\n return result;\n }\n async deriveKey(...args) {\n this.checkRequiredArguments(args, 5, "deriveKey");\n const [algorithm, baseKey, derivedKeyType, extractable, keyUsages, ...params] = args;\n const preparedDerivedKeyType = this.prepareAlgorithm(derivedKeyType);\n const importProvider = this.getProvider(preparedDerivedKeyType.name);\n importProvider.checkDerivedKeyParams(preparedDerivedKeyType);\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n provider.checkCryptoKey(baseKey, "deriveKey");\n const derivedBits = await provider.deriveBits({ ...preparedAlgorithm, name: provider.name }, baseKey, derivedKeyType.length || 512, { keyUsage: false }, ...params);\n return this.importKey("raw", derivedBits, derivedKeyType, extractable, keyUsages, ...params);\n }\n async exportKey(...args) {\n this.checkRequiredArguments(args, 2, "exportKey");\n const [format, key, ...params] = args;\n this.checkCryptoKey(key);\n const provider = this.getProvider(key.algorithm.name);\n const result = await provider.exportKey(format, key, ...params);\n return result;\n }\n async importKey(...args) {\n this.checkRequiredArguments(args, 5, "importKey");\n const [format, keyData, algorithm, extractable, keyUsages, ...params] = args;\n const preparedAlgorithm = this.prepareAlgorithm(algorithm);\n const provider = this.getProvider(preparedAlgorithm.name);\n if (["pkcs8", "spki", "raw"].indexOf(format) !== -1) {\n const preparedData = BufferSourceConverter.toArrayBuffer(keyData);\n return provider.importKey(format, preparedData, { ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n } else {\n if (!keyData.kty) {\n throw new TypeError("keyData: Is not JSON");\n }\n }\n return provider.importKey(format, keyData, { ...preparedAlgorithm, name: provider.name }, extractable, keyUsages, ...params);\n }\n async wrapKey(format, key, wrappingKey, wrapAlgorithm, ...args) {\n let keyData = await this.exportKey(format, key, ...args);\n if (format === "jwk") {\n const json = JSON.stringify(keyData);\n keyData = Convert.FromUtf8String(json);\n }\n const preparedAlgorithm = this.prepareAlgorithm(wrapAlgorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(keyData);\n const provider = this.getProvider(preparedAlgorithm.name);\n return provider.encrypt({ ...preparedAlgorithm, name: provider.name }, wrappingKey, preparedData, { keyUsage: false }, ...args);\n }\n async unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable, keyUsages, ...args) {\n const preparedAlgorithm = this.prepareAlgorithm(unwrapAlgorithm);\n const preparedData = BufferSourceConverter.toArrayBuffer(wrappedKey);\n const provider = this.getProvider(preparedAlgorithm.name);\n let keyData = await provider.decrypt({ ...preparedAlgorithm, name: provider.name }, unwrappingKey, preparedData, { keyUsage: false }, ...args);\n if (format === "jwk") {\n try {\n keyData = JSON.parse(Convert.ToUtf8String(keyData));\n } catch (e) {\n const error = new TypeError("wrappedKey: Is not a JSON");\n error.internal = e;\n throw error;\n }\n }\n return this.importKey(format, keyData, unwrappedKeyAlgorithm, extractable, keyUsages, ...args);\n }\n checkRequiredArguments(args, size, methodName) {\n if (args.length < size) {\n throw new TypeError(`Failed to execute \'${methodName}\' on \'SubtleCrypto\': ${size} arguments required, but only ${args.length} present`);\n }\n }\n prepareAlgorithm(algorithm) {\n if (typeof algorithm === "string") {\n return {\n name: algorithm\n };\n }\n if (SubtleCrypto.isHashedAlgorithm(algorithm)) {\n const preparedAlgorithm = { ...algorithm };\n preparedAlgorithm.hash = this.prepareAlgorithm(algorithm.hash);\n return preparedAlgorithm;\n }\n return { ...algorithm };\n }\n getProvider(name) {\n const provider = this.providers.get(name);\n if (!provider) {\n throw new AlgorithmError("Unrecognized name");\n }\n return provider;\n }\n checkCryptoKey(key) {\n if (!(key instanceof CryptoKey)) {\n throw new TypeError(`Key is not of type \'CryptoKey\'`);\n }\n }\n};\n__name(SubtleCrypto, "SubtleCrypto");\n\n// ../../node_modules/.pnpm/@peculiar+webcrypto@1.4.3/node_modules/@peculiar/webcrypto/build/webcrypto.es.js\nvar crypto = __toESM(require("crypto"));\nvar import_crypto = __toESM(require("crypto"));\nvar process = __toESM(require("process"));\nvar JsonBase64UrlConverter = {\n fromJSON: (value) => Buffer.from(Convert.FromBase64Url(value)),\n toJSON: (value) => Convert.ToBase64Url(value)\n};\nvar CryptoKey2 = class extends CryptoKey {\n constructor() {\n super(...arguments);\n this.data = Buffer.alloc(0);\n this.algorithm = { name: "" };\n this.extractable = false;\n this.type = "secret";\n this.usages = [];\n this.kty = "oct";\n this.alg = "";\n }\n};\n__name(CryptoKey2, "CryptoKey");\n__decorate([\n JsonProp({ name: "ext", type: JsonPropTypes.Boolean, optional: true })\n], CryptoKey2.prototype, "extractable", void 0);\n__decorate([\n JsonProp({ name: "key_ops", type: JsonPropTypes.String, repeated: true, optional: true })\n], CryptoKey2.prototype, "usages", void 0);\n__decorate([\n JsonProp({ type: JsonPropTypes.String })\n], CryptoKey2.prototype, "kty", void 0);\n__decorate([\n JsonProp({ type: JsonPropTypes.String, optional: true })\n], CryptoKey2.prototype, "alg", void 0);\nvar SymmetricKey = class extends CryptoKey2 {\n constructor() {\n super(...arguments);\n this.kty = "oct";\n this.type = "secret";\n }\n};\n__name(SymmetricKey, "SymmetricKey");\nvar AsymmetricKey = class extends CryptoKey2 {\n};\n__name(AsymmetricKey, "AsymmetricKey");\nvar AesCryptoKey = class extends SymmetricKey {\n get alg() {\n switch (this.algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return `A${this.algorithm.length}CBC`;\n case "AES-CTR":\n return `A${this.algorithm.length}CTR`;\n case "AES-GCM":\n return `A${this.algorithm.length}GCM`;\n case "AES-KW":\n return `A${this.algorithm.length}KW`;\n case "AES-CMAC":\n return `A${this.algorithm.length}CMAC`;\n case "AES-ECB":\n return `A${this.algorithm.length}ECB`;\n default:\n throw new AlgorithmError("Unsupported algorithm name");\n }\n }\n set alg(value) {\n }\n};\n__name(AesCryptoKey, "AesCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], AesCryptoKey.prototype, "data", void 0);\nvar AesCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const key = new AesCryptoKey();\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(algorithm.length >> 3);\n return key;\n }\n static async exportKey(format, key) {\n if (!(key instanceof AesCryptoKey)) {\n throw new Error("key: Is not AesCryptoKey");\n }\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "raw":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: AesCryptoKey });\n break;\n case "raw":\n key = new AesCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = algorithm;\n key.algorithm.length = key.data.length << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n switch (key.algorithm.length) {\n case 128:\n case 192:\n case 256:\n break;\n default:\n throw new OperationError("keyData: Is wrong key length");\n }\n return key;\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return this.encryptAesCBC(algorithm, key, Buffer.from(data));\n case "AES-CTR":\n return this.encryptAesCTR(algorithm, key, Buffer.from(data));\n case "AES-GCM":\n return this.encryptAesGCM(algorithm, key, Buffer.from(data));\n case "AES-KW":\n return this.encryptAesKW(algorithm, key, Buffer.from(data));\n case "AES-ECB":\n return this.encryptAesECB(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n if (!(key instanceof AesCryptoKey)) {\n throw new Error("key: Is not AesCryptoKey");\n }\n switch (algorithm.name.toUpperCase()) {\n case "AES-CBC":\n return this.decryptAesCBC(algorithm, key, Buffer.from(data));\n case "AES-CTR":\n return this.decryptAesCTR(algorithm, key, Buffer.from(data));\n case "AES-GCM":\n return this.decryptAesGCM(algorithm, key, Buffer.from(data));\n case "AES-KW":\n return this.decryptAesKW(algorithm, key, Buffer.from(data));\n case "AES-ECB":\n return this.decryptAesECB(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encryptAesCBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-cbc`, key.data, new Uint8Array(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesCBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesCTR(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-ctr`, key.data, Buffer.from(algorithm.counter));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesCTR(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-ctr`, key.data, new Uint8Array(algorithm.counter));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesGCM(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-gcm`, key.data, Buffer.from(algorithm.iv), {\n authTagLength: (algorithm.tagLength || 128) >> 3\n });\n if (algorithm.additionalData) {\n cipher.setAAD(Buffer.from(algorithm.additionalData));\n }\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final(), cipher.getAuthTag()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesGCM(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-gcm`, key.data, new Uint8Array(algorithm.iv));\n const tagLength = (algorithm.tagLength || 128) >> 3;\n const enc = data.slice(0, data.length - tagLength);\n const tag = data.slice(data.length - tagLength);\n if (algorithm.additionalData) {\n decipher.setAAD(Buffer.from(algorithm.additionalData));\n }\n decipher.setAuthTag(tag);\n let dec = decipher.update(enc);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesKW(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`id-aes${key.algorithm.length}-wrap`, key.data, this.AES_KW_IV);\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n return new Uint8Array(enc).buffer;\n }\n static async decryptAesKW(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`id-aes${key.algorithm.length}-wrap`, key.data, this.AES_KW_IV);\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptAesECB(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`aes-${key.algorithm.length}-ecb`, key.data, new Uint8Array(0));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptAesECB(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`aes-${key.algorithm.length}-ecb`, key.data, new Uint8Array(0));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n};\n__name(AesCrypto, "AesCrypto");\nAesCrypto.AES_KW_IV = Buffer.from("A6A6A6A6A6A6A6A6", "hex");\nvar keyStorage = /* @__PURE__ */ new WeakMap();\nfunction getCryptoKey(key) {\n const res = keyStorage.get(key);\n if (!res) {\n throw new OperationError("Cannot get CryptoKey from secure storage");\n }\n return res;\n}\n__name(getCryptoKey, "getCryptoKey");\nfunction setCryptoKey(value) {\n const key = CryptoKey.create(value.algorithm, value.type, value.extractable, value.usages);\n Object.freeze(key);\n keyStorage.set(key, value);\n return key;\n}\n__name(setCryptoKey, "setCryptoKey");\nvar AesCbcProvider2 = class extends AesCbcProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCbcProvider2, "AesCbcProvider");\nvar zero = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\nvar rb = Buffer.from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135]);\nvar blockSize = 16;\nfunction bitShiftLeft(buffer) {\n const shifted = Buffer.alloc(buffer.length);\n const last = buffer.length - 1;\n for (let index = 0; index < last; index++) {\n shifted[index] = buffer[index] << 1;\n if (buffer[index + 1] & 128) {\n shifted[index] += 1;\n }\n }\n shifted[last] = buffer[last] << 1;\n return shifted;\n}\n__name(bitShiftLeft, "bitShiftLeft");\nfunction xor(a, b) {\n const length = Math.min(a.length, b.length);\n const output = Buffer.alloc(length);\n for (let index = 0; index < length; index++) {\n output[index] = a[index] ^ b[index];\n }\n return output;\n}\n__name(xor, "xor");\nfunction aes(key, message) {\n const cipher = crypto.createCipheriv(`aes${key.length << 3}`, key, zero);\n const result = cipher.update(message);\n cipher.final();\n return result;\n}\n__name(aes, "aes");\nfunction getMessageBlock(message, blockIndex) {\n const block = Buffer.alloc(blockSize);\n const start = blockIndex * blockSize;\n const end = start + blockSize;\n message.copy(block, 0, start, end);\n return block;\n}\n__name(getMessageBlock, "getMessageBlock");\nfunction getPaddedMessageBlock(message, blockIndex) {\n const block = Buffer.alloc(blockSize);\n const start = blockIndex * blockSize;\n const end = message.length;\n block.fill(0);\n message.copy(block, 0, start, end);\n block[end - start] = 128;\n return block;\n}\n__name(getPaddedMessageBlock, "getPaddedMessageBlock");\nfunction generateSubkeys(key) {\n const l = aes(key, zero);\n let subkey1 = bitShiftLeft(l);\n if (l[0] & 128) {\n subkey1 = xor(subkey1, rb);\n }\n let subkey2 = bitShiftLeft(subkey1);\n if (subkey1[0] & 128) {\n subkey2 = xor(subkey2, rb);\n }\n return { subkey1, subkey2 };\n}\n__name(generateSubkeys, "generateSubkeys");\nfunction aesCmac(key, message) {\n const subkeys = generateSubkeys(key);\n let blockCount = Math.ceil(message.length / blockSize);\n let lastBlockCompleteFlag;\n let lastBlock;\n if (blockCount === 0) {\n blockCount = 1;\n lastBlockCompleteFlag = false;\n } else {\n lastBlockCompleteFlag = message.length % blockSize === 0;\n }\n const lastBlockIndex = blockCount - 1;\n if (lastBlockCompleteFlag) {\n lastBlock = xor(getMessageBlock(message, lastBlockIndex), subkeys.subkey1);\n } else {\n lastBlock = xor(getPaddedMessageBlock(message, lastBlockIndex), subkeys.subkey2);\n }\n let x = zero;\n let y;\n for (let index = 0; index < lastBlockIndex; index++) {\n y = xor(x, getMessageBlock(message, index));\n x = aes(key, y);\n }\n y = xor(lastBlock, x);\n return aes(key, y);\n}\n__name(aesCmac, "aesCmac");\nvar AesCmacProvider2 = class extends AesCmacProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onSign(algorithm, key, data) {\n const result = aesCmac(getCryptoKey(key).data, Buffer.from(data));\n return new Uint8Array(result).buffer;\n }\n async onVerify(algorithm, key, signature, data) {\n const signature2 = await this.sign(algorithm, key, data);\n return Buffer.from(signature).compare(Buffer.from(signature2)) === 0;\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCmacProvider2, "AesCmacProvider");\nvar AesCtrProvider2 = class extends AesCtrProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesCtrProvider2, "AesCtrProvider");\nvar AesGcmProvider2 = class extends AesGcmProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesGcmProvider2, "AesGcmProvider");\nvar AesKwProvider2 = class extends AesKwProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const res = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesKwProvider2, "AesKwProvider");\nvar AesEcbProvider2 = class extends AesEcbProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await AesCrypto.generateKey({\n name: this.name,\n length: algorithm.length\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return AesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return AesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return AesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const res = await AesCrypto.importKey(format, keyData, { name: algorithm.name }, extractable, keyUsages);\n return setCryptoKey(res);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof AesCryptoKey)) {\n throw new TypeError("key: Is not a AesCryptoKey");\n }\n }\n};\n__name(AesEcbProvider2, "AesEcbProvider");\nvar DesCryptoKey = class extends SymmetricKey {\n get alg() {\n switch (this.algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return `DES-CBC`;\n case "DES-EDE3-CBC":\n return `3DES-CBC`;\n default:\n throw new AlgorithmError("Unsupported algorithm name");\n }\n }\n set alg(value) {\n }\n};\n__name(DesCryptoKey, "DesCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], DesCryptoKey.prototype, "data", void 0);\nvar DesCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const key = new DesCryptoKey();\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(algorithm.length >> 3);\n return key;\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "raw":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: DesCryptoKey });\n break;\n case "raw":\n key = new DesCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = algorithm;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return this.encryptDesCBC(algorithm, key, Buffer.from(data));\n case "DES-EDE3-CBC":\n return this.encryptDesEDE3CBC(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n if (!(key instanceof DesCryptoKey)) {\n throw new Error("key: Is not DesCryptoKey");\n }\n switch (algorithm.name.toUpperCase()) {\n case "DES-CBC":\n return this.decryptDesCBC(algorithm, key, Buffer.from(data));\n case "DES-EDE3-CBC":\n return this.decryptDesEDE3CBC(algorithm, key, Buffer.from(data));\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encryptDesCBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`des-cbc`, key.data, new Uint8Array(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptDesCBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`des-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n static async encryptDesEDE3CBC(algorithm, key, data) {\n const cipher = import_crypto.default.createCipheriv(`des-ede3-cbc`, key.data, Buffer.from(algorithm.iv));\n let enc = cipher.update(data);\n enc = Buffer.concat([enc, cipher.final()]);\n const res = new Uint8Array(enc).buffer;\n return res;\n }\n static async decryptDesEDE3CBC(algorithm, key, data) {\n const decipher = import_crypto.default.createDecipheriv(`des-ede3-cbc`, key.data, new Uint8Array(algorithm.iv));\n let dec = decipher.update(data);\n dec = Buffer.concat([dec, decipher.final()]);\n return new Uint8Array(dec).buffer;\n }\n};\n__name(DesCrypto, "DesCrypto");\nvar DesCbcProvider = class extends DesProvider {\n constructor() {\n super(...arguments);\n this.keySizeBits = 64;\n this.ivSize = 8;\n this.name = "DES-CBC";\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await DesCrypto.generateKey({\n name: this.name,\n length: this.keySizeBits\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return DesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return DesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return DesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await DesCrypto.importKey(format, keyData, { name: this.name, length: this.keySizeBits }, extractable, keyUsages);\n if (key.data.length !== this.keySizeBits >> 3) {\n throw new OperationError("keyData: Wrong key size");\n }\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof DesCryptoKey)) {\n throw new TypeError("key: Is not a DesCryptoKey");\n }\n }\n};\n__name(DesCbcProvider, "DesCbcProvider");\nvar DesEde3CbcProvider = class extends DesProvider {\n constructor() {\n super(...arguments);\n this.keySizeBits = 192;\n this.ivSize = 8;\n this.name = "DES-EDE3-CBC";\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const key = await DesCrypto.generateKey({\n name: this.name,\n length: this.keySizeBits\n }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n async onEncrypt(algorithm, key, data) {\n return DesCrypto.encrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onDecrypt(algorithm, key, data) {\n return DesCrypto.decrypt(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return DesCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await DesCrypto.importKey(format, keyData, { name: this.name, length: this.keySizeBits }, extractable, keyUsages);\n if (key.data.length !== this.keySizeBits >> 3) {\n throw new OperationError("keyData: Wrong key size");\n }\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof DesCryptoKey)) {\n throw new TypeError("key: Is not a DesCryptoKey");\n }\n }\n};\n__name(DesEde3CbcProvider, "DesEde3CbcProvider");\nfunction getJwkAlgorithm(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP": {\n const mdSize = /(\\d+)$/.exec(algorithm.hash.name)[1];\n return `RSA-OAEP${mdSize !== "1" ? `-${mdSize}` : ""}`;\n }\n case "RSASSA-PKCS1-V1_5":\n return `RS${/(\\d+)$/.exec(algorithm.hash.name)[1]}`;\n case "RSA-PSS":\n return `PS${/(\\d+)$/.exec(algorithm.hash.name)[1]}`;\n case "RSA-PKCS1":\n return `RS1`;\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n}\n__name(getJwkAlgorithm, "getJwkAlgorithm");\nvar RsaPrivateKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.RsaPrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "RSA",\n alg: getJwkAlgorithm(this.algorithm),\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.RsaPrivateKey });\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.privateKeyAlgorithm.parameters = null;\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n }\n};\n__name(RsaPrivateKey2, "RsaPrivateKey");\nvar RsaPublicKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return AsnParser.parse(keyInfo.publicKey, index$1.RsaPublicKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "RSA",\n alg: getJwkAlgorithm(this.algorithm),\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.RsaPublicKey });\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.publicKeyAlgorithm.parameters = null;\n keyInfo.publicKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n }\n};\n__name(RsaPublicKey2, "RsaPublicKey");\nvar RsaCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new RsaPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new RsaPublicKey2();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const publicExponent = Buffer.concat([\n Buffer.alloc(4 - algorithm.publicExponent.byteLength, 0),\n Buffer.from(algorithm.publicExponent)\n ]).readInt32BE(0);\n const keys = import_crypto.default.generateKeyPairSync("rsa", {\n modulusLength: algorithm.modulusLength,\n publicExponent,\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\', \'pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.RsaPrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.RsaPublicKey });\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.publicKey, index$1.RsaPublicKey);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.RsaPrivateKey);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'pkcs8\' or \'spki\'");\n }\n }\n static async sign(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-PSS":\n case "RSASSA-PKCS1-V1_5":\n return this.signRsa(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async verify(algorithm, key, signature, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-PSS":\n case "RSASSA-PKCS1-V1_5":\n return this.verifySSA(algorithm, key, data, signature);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async encrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP":\n return this.encryptOAEP(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static async decrypt(algorithm, key, data) {\n switch (algorithm.name.toUpperCase()) {\n case "RSA-OAEP":\n return this.decryptOAEP(algorithm, key, data);\n default:\n throw new OperationError("algorithm: Is not recognized");\n }\n }\n static importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.privateKeyAlgorithm.parameters = null;\n keyInfo.privateKey = AsnSerializer.serialize(asnKey);\n const key = new RsaPrivateKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.algorithm.publicExponent = new Uint8Array(asnKey.publicExponent);\n key.algorithm.modulusLength = asnKey.modulus.byteLength << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.113549.1.1.1";\n keyInfo.publicKeyAlgorithm.parameters = null;\n keyInfo.publicKey = AsnSerializer.serialize(asnKey);\n const key = new RsaPublicKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.algorithm.publicExponent = new Uint8Array(asnKey.publicExponent);\n key.algorithm.modulusLength = asnKey.modulus.byteLength << 3;\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static getCryptoAlgorithm(alg) {\n switch (alg.hash.name.toUpperCase()) {\n case "SHA-1":\n return "RSA-SHA1";\n case "SHA-256":\n return "RSA-SHA256";\n case "SHA-384":\n return "RSA-SHA384";\n case "SHA-512":\n return "RSA-SHA512";\n case "SHA3-256":\n return "RSA-SHA3-256";\n case "SHA3-384":\n return "RSA-SHA3-384";\n case "SHA3-512":\n return "RSA-SHA3-512";\n default:\n throw new OperationError("algorithm.hash: Is not recognized");\n }\n }\n static signRsa(algorithm, key, data) {\n const cryptoAlg = this.getCryptoAlgorithm(key.algorithm);\n const signer = import_crypto.default.createSign(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n if (algorithm.name.toUpperCase() === "RSA-PSS") {\n options.padding = import_crypto.default.constants.RSA_PKCS1_PSS_PADDING;\n options.saltLength = algorithm.saltLength;\n }\n const signature = signer.sign(options);\n return new Uint8Array(signature).buffer;\n }\n static verifySSA(algorithm, key, data, signature) {\n const cryptoAlg = this.getCryptoAlgorithm(key.algorithm);\n const signer = import_crypto.default.createVerify(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n if (algorithm.name.toUpperCase() === "RSA-PSS") {\n options.padding = import_crypto.default.constants.RSA_PKCS1_PSS_PADDING;\n options.saltLength = algorithm.saltLength;\n }\n const ok = signer.verify(options, signature);\n return ok;\n }\n static encryptOAEP(algorithm, key, data) {\n const options = {\n key: `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`,\n padding: import_crypto.default.constants.RSA_PKCS1_OAEP_PADDING\n };\n if (algorithm.label)\n ;\n return new Uint8Array(import_crypto.default.publicEncrypt(options, data)).buffer;\n }\n static decryptOAEP(algorithm, key, data) {\n const options = {\n key: `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`,\n padding: import_crypto.default.constants.RSA_PKCS1_OAEP_PADDING\n };\n if (algorithm.label)\n ;\n return new Uint8Array(import_crypto.default.privateDecrypt(options, data)).buffer;\n }\n};\n__name(RsaCrypto, "RsaCrypto");\nRsaCrypto.publicKeyUsages = ["verify", "encrypt", "wrapKey"];\nRsaCrypto.privateKeyUsages = ["sign", "decrypt", "unwrapKey"];\nvar RsaSsaProvider2 = class extends RsaSsaProvider {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return RsaCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return RsaCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n};\n__name(RsaSsaProvider2, "RsaSsaProvider");\nvar RsaPssProvider2 = class extends RsaPssProvider {\n constructor() {\n super(...arguments);\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return RsaCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return RsaCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n};\n__name(RsaPssProvider2, "RsaPssProvider");\nvar ShaCrypto = class {\n static size(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "SHA-1":\n return 160;\n case "SHA-256":\n case "SHA3-256":\n return 256;\n case "SHA-384":\n case "SHA3-384":\n return 384;\n case "SHA-512":\n case "SHA3-512":\n return 512;\n default:\n throw new Error("Unrecognized name");\n }\n }\n static getAlgorithmName(algorithm) {\n switch (algorithm.name.toUpperCase()) {\n case "SHA-1":\n return "sha1";\n case "SHA-256":\n return "sha256";\n case "SHA-384":\n return "sha384";\n case "SHA-512":\n return "sha512";\n case "SHA3-256":\n return "sha3-256";\n case "SHA3-384":\n return "sha3-384";\n case "SHA3-512":\n return "sha3-512";\n default:\n throw new Error("Unrecognized name");\n }\n }\n static digest(algorithm, data) {\n const hashAlg = this.getAlgorithmName(algorithm);\n const hash = import_crypto.default.createHash(hashAlg).update(Buffer.from(data)).digest();\n return new Uint8Array(hash).buffer;\n }\n};\n__name(ShaCrypto, "ShaCrypto");\nvar RsaOaepProvider2 = class extends RsaOaepProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onEncrypt(algorithm, key, data) {\n const internalKey = getCryptoKey(key);\n const dataView = new Uint8Array(data);\n const keySize = Math.ceil(internalKey.algorithm.modulusLength >> 3);\n const hashSize = ShaCrypto.size(internalKey.algorithm.hash) >> 3;\n const dataLength = dataView.byteLength;\n const psLength = keySize - dataLength - 2 * hashSize - 2;\n if (dataLength > keySize - 2 * hashSize - 2) {\n throw new Error("Data too large");\n }\n const message = new Uint8Array(keySize);\n const seed = message.subarray(1, hashSize + 1);\n const dataBlock = message.subarray(hashSize + 1);\n dataBlock.set(dataView, hashSize + psLength + 1);\n const labelHash = import_crypto.default.createHash(internalKey.algorithm.hash.name.replace("-", "")).update(BufferSourceConverter.toUint8Array(algorithm.label || new Uint8Array(0))).digest();\n dataBlock.set(labelHash, 0);\n dataBlock[hashSize + psLength] = 1;\n import_crypto.default.randomFillSync(seed);\n const dataBlockMask = this.mgf1(internalKey.algorithm.hash, seed, dataBlock.length);\n for (let i = 0; i < dataBlock.length; i++) {\n dataBlock[i] ^= dataBlockMask[i];\n }\n const seedMask = this.mgf1(internalKey.algorithm.hash, dataBlock, seed.length);\n for (let i = 0; i < seed.length; i++) {\n seed[i] ^= seedMask[i];\n }\n if (!internalKey.pem) {\n internalKey.pem = `-----BEGIN PUBLIC KEY-----\n${internalKey.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const pkcs0 = import_crypto.default.publicEncrypt({\n key: internalKey.pem,\n padding: import_crypto.default.constants.RSA_NO_PADDING\n }, Buffer.from(message));\n return new Uint8Array(pkcs0).buffer;\n }\n async onDecrypt(algorithm, key, data) {\n const internalKey = getCryptoKey(key);\n const keySize = Math.ceil(internalKey.algorithm.modulusLength >> 3);\n const hashSize = ShaCrypto.size(internalKey.algorithm.hash) >> 3;\n const dataLength = data.byteLength;\n if (dataLength !== keySize) {\n throw new Error("Bad data");\n }\n if (!internalKey.pem) {\n internalKey.pem = `-----BEGIN PRIVATE KEY-----\n${internalKey.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n let pkcs0 = import_crypto.default.privateDecrypt({\n key: internalKey.pem,\n padding: import_crypto.default.constants.RSA_NO_PADDING\n }, Buffer.from(data));\n const z = pkcs0[0];\n const seed = pkcs0.subarray(1, hashSize + 1);\n const dataBlock = pkcs0.subarray(hashSize + 1);\n if (z !== 0) {\n throw new Error("Decryption failed");\n }\n const seedMask = this.mgf1(internalKey.algorithm.hash, dataBlock, seed.length);\n for (let i = 0; i < seed.length; i++) {\n seed[i] ^= seedMask[i];\n }\n const dataBlockMask = this.mgf1(internalKey.algorithm.hash, seed, dataBlock.length);\n for (let i = 0; i < dataBlock.length; i++) {\n dataBlock[i] ^= dataBlockMask[i];\n }\n const labelHash = import_crypto.default.createHash(internalKey.algorithm.hash.name.replace("-", "")).update(BufferSourceConverter.toUint8Array(algorithm.label || new Uint8Array(0))).digest();\n for (let i = 0; i < hashSize; i++) {\n if (labelHash[i] !== dataBlock[i]) {\n throw new Error("Decryption failed");\n }\n }\n let psEnd = hashSize;\n for (; psEnd < dataBlock.length; psEnd++) {\n const psz = dataBlock[psEnd];\n if (psz === 1) {\n break;\n }\n if (psz !== 0) {\n throw new Error("Decryption failed");\n }\n }\n if (psEnd === dataBlock.length) {\n throw new Error("Decryption failed");\n }\n pkcs0 = dataBlock.subarray(psEnd + 1);\n return new Uint8Array(pkcs0).buffer;\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n mgf1(algorithm, seed, length = 0) {\n const hashSize = ShaCrypto.size(algorithm) >> 3;\n const mask = new Uint8Array(length);\n const counter = new Uint8Array(4);\n const chunks = Math.ceil(length / hashSize);\n for (let i = 0; i < chunks; i++) {\n counter[0] = i >>> 24;\n counter[1] = i >>> 16 & 255;\n counter[2] = i >>> 8 & 255;\n counter[3] = i & 255;\n const submask = mask.subarray(i * hashSize);\n let chunk = import_crypto.default.createHash(algorithm.name.replace("-", "")).update(seed).update(counter).digest();\n if (chunk.length > submask.length) {\n chunk = chunk.subarray(0, submask.length);\n }\n submask.set(chunk);\n }\n return mask;\n }\n};\n__name(RsaOaepProvider2, "RsaOaepProvider");\nvar RsaEsProvider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "RSAES-PKCS1-v1_5";\n this.usages = {\n publicKey: ["encrypt", "wrapKey"],\n privateKey: ["decrypt", "unwrapKey"]\n };\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await RsaCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n checkGenerateKeyParams(algorithm) {\n this.checkRequiredProperty(algorithm, "publicExponent");\n if (!(algorithm.publicExponent && algorithm.publicExponent instanceof Uint8Array)) {\n throw new TypeError("publicExponent: Missing or not a Uint8Array");\n }\n const publicExponent = Convert.ToBase64(algorithm.publicExponent);\n if (!(publicExponent === "Aw==" || publicExponent === "AQAB")) {\n throw new TypeError("publicExponent: Must be [3] or [1,0,1]");\n }\n this.checkRequiredProperty(algorithm, "modulusLength");\n switch (algorithm.modulusLength) {\n case 1024:\n case 2048:\n case 4096:\n break;\n default:\n throw new TypeError("modulusLength: Must be 1024, 2048, or 4096");\n }\n }\n async onEncrypt(algorithm, key, data) {\n const options = this.toCryptoOptions(key);\n const enc = crypto.publicEncrypt(options, new Uint8Array(data));\n return new Uint8Array(enc).buffer;\n }\n async onDecrypt(algorithm, key, data) {\n const options = this.toCryptoOptions(key);\n const dec = crypto.privateDecrypt(options, new Uint8Array(data));\n return new Uint8Array(dec).buffer;\n }\n async onExportKey(format, key) {\n return RsaCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await RsaCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof RsaPrivateKey2 || internalKey instanceof RsaPublicKey2)) {\n throw new TypeError("key: Is not RSA CryptoKey");\n }\n }\n toCryptoOptions(key) {\n const type = key.type.toUpperCase();\n return {\n key: `-----BEGIN ${type} KEY-----\n${getCryptoKey(key).data.toString("base64")}\n-----END ${type} KEY-----`,\n padding: crypto.constants.RSA_PKCS1_PADDING\n };\n }\n};\n__name(RsaEsProvider, "RsaEsProvider");\nvar namedOIDs = {\n "1.2.840.10045.3.1.7": "P-256",\n "P-256": "1.2.840.10045.3.1.7",\n "1.3.132.0.34": "P-384",\n "P-384": "1.3.132.0.34",\n "1.3.132.0.35": "P-521",\n "P-521": "1.3.132.0.35",\n "1.3.132.0.10": "K-256",\n "K-256": "1.3.132.0.10",\n "brainpoolP160r1": "1.3.36.3.3.2.8.1.1.1",\n "1.3.36.3.3.2.8.1.1.1": "brainpoolP160r1",\n "brainpoolP160t1": "1.3.36.3.3.2.8.1.1.2",\n "1.3.36.3.3.2.8.1.1.2": "brainpoolP160t1",\n "brainpoolP192r1": "1.3.36.3.3.2.8.1.1.3",\n "1.3.36.3.3.2.8.1.1.3": "brainpoolP192r1",\n "brainpoolP192t1": "1.3.36.3.3.2.8.1.1.4",\n "1.3.36.3.3.2.8.1.1.4": "brainpoolP192t1",\n "brainpoolP224r1": "1.3.36.3.3.2.8.1.1.5",\n "1.3.36.3.3.2.8.1.1.5": "brainpoolP224r1",\n "brainpoolP224t1": "1.3.36.3.3.2.8.1.1.6",\n "1.3.36.3.3.2.8.1.1.6": "brainpoolP224t1",\n "brainpoolP256r1": "1.3.36.3.3.2.8.1.1.7",\n "1.3.36.3.3.2.8.1.1.7": "brainpoolP256r1",\n "brainpoolP256t1": "1.3.36.3.3.2.8.1.1.8",\n "1.3.36.3.3.2.8.1.1.8": "brainpoolP256t1",\n "brainpoolP320r1": "1.3.36.3.3.2.8.1.1.9",\n "1.3.36.3.3.2.8.1.1.9": "brainpoolP320r1",\n "brainpoolP320t1": "1.3.36.3.3.2.8.1.1.10",\n "1.3.36.3.3.2.8.1.1.10": "brainpoolP320t1",\n "brainpoolP384r1": "1.3.36.3.3.2.8.1.1.11",\n "1.3.36.3.3.2.8.1.1.11": "brainpoolP384r1",\n "brainpoolP384t1": "1.3.36.3.3.2.8.1.1.12",\n "1.3.36.3.3.2.8.1.1.12": "brainpoolP384t1",\n "brainpoolP512r1": "1.3.36.3.3.2.8.1.1.13",\n "1.3.36.3.3.2.8.1.1.13": "brainpoolP512r1",\n "brainpoolP512t1": "1.3.36.3.3.2.8.1.1.14",\n "1.3.36.3.3.2.8.1.1.14": "brainpoolP512t1"\n};\nfunction getOidByNamedCurve$1(namedCurve) {\n const oid = namedOIDs[namedCurve];\n if (!oid) {\n throw new OperationError(`Cannot convert WebCrypto named curve \'${namedCurve}\' to OID`);\n }\n return oid;\n}\n__name(getOidByNamedCurve$1, "getOidByNamedCurve$1");\nvar EcPrivateKey2 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.EcPrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "EC",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.privateKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(json.crv)));\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.EcPrivateKey });\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EcPrivateKey2, "EcPrivateKey");\nvar EcPublicKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return new index$1.EcPublicKey(keyInfo.publicKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "EC",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.EcPublicKey });\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.publicKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(json.crv)));\n keyInfo.publicKey = AsnSerializer.toASN(key).valueHex;\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EcPublicKey3, "EcPublicKey");\nvar Sha1Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-1";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha1Provider, "Sha1Provider");\nvar Sha256Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-256";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha256Provider, "Sha256Provider");\nvar Sha384Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-384";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha384Provider, "Sha384Provider");\nvar Sha512Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA-512";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha512Provider, "Sha512Provider");\nvar Sha3256Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-256";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3256Provider, "Sha3256Provider");\nvar Sha3384Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-384";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3384Provider, "Sha3384Provider");\nvar Sha3512Provider = class extends ProviderCrypto {\n constructor() {\n super(...arguments);\n this.name = "SHA3-512";\n this.usages = [];\n }\n async onDigest(algorithm, data) {\n return ShaCrypto.digest(algorithm, data);\n }\n};\n__name(Sha3512Provider, "Sha3512Provider");\nvar EcCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EcPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EcPublicKey3();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const keys = import_crypto.default.generateKeyPairSync("ec", {\n namedCurve: this.getOpenSSLNamedCurve(algorithm.namedCurve),\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async sign(algorithm, key, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(algorithm.hash);\n const signer = import_crypto.default.createSign(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const signature = signer.sign(options);\n const ecSignature = AsnParser.parse(signature, index$1.EcDsaSignature);\n const signatureRaw = EcUtils.encodeSignature(ecSignature, EcCurves.get(key.algorithm.namedCurve).size);\n return signatureRaw.buffer;\n }\n static async verify(algorithm, key, signature, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(algorithm.hash);\n const signer = import_crypto.default.createVerify(cryptoAlg);\n signer.update(Buffer.from(data));\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const ecSignature = new index$1.EcDsaSignature();\n const namedCurve = EcCurves.get(key.algorithm.namedCurve);\n const signaturePoint = EcUtils.decodeSignature(signature, namedCurve.size);\n ecSignature.r = BufferSourceConverter.toArrayBuffer(signaturePoint.r);\n ecSignature.s = BufferSourceConverter.toArrayBuffer(signaturePoint.s);\n const ecSignatureRaw = Buffer.from(AsnSerializer.serialize(ecSignature));\n const ok = signer.verify(options, ecSignatureRaw);\n return ok;\n }\n static async deriveBits(algorithm, baseKey, length) {\n const cryptoAlg = this.getOpenSSLNamedCurve(baseKey.algorithm.namedCurve);\n const ecdh = import_crypto.default.createECDH(cryptoAlg);\n const asnPrivateKey = AsnParser.parse(baseKey.data, index$1.PrivateKeyInfo);\n const asnEcPrivateKey = AsnParser.parse(asnPrivateKey.privateKey, index$1.EcPrivateKey);\n ecdh.setPrivateKey(Buffer.from(asnEcPrivateKey.privateKey));\n const asnPublicKey = AsnParser.parse(algorithm.public.data, index$1.PublicKeyInfo);\n const bits = ecdh.computeSecret(Buffer.from(asnPublicKey.publicKey));\n if (length === null) {\n return bits;\n }\n return new Uint8Array(bits).buffer.slice(0, length >> 3);\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n case "raw": {\n const publicKeyInfo = AsnParser.parse(key.data, index$1.PublicKeyInfo);\n return publicKeyInfo.publicKey;\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.EcPrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.EcPublicKey });\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n }\n case "raw": {\n const asnKey = new index$1.EcPublicKey(keyData);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n const asnKey = new index$1.EcPublicKey(keyInfo.publicKey);\n this.assertKeyParameters(keyInfo.publicKeyAlgorithm.parameters, algorithm.namedCurve);\n return this.importPublicKey(asnKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.EcPrivateKey);\n this.assertKeyParameters(keyInfo.privateKeyAlgorithm.parameters, algorithm.namedCurve);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', \'pkcs8\' or \'spki\'");\n }\n }\n static assertKeyParameters(parameters, namedCurve) {\n if (!parameters) {\n throw new CryptoError("Key info doesn\'t have required parameters");\n }\n let namedCurveIdentifier = "";\n try {\n namedCurveIdentifier = AsnParser.parse(parameters, index$1.ObjectIdentifier).value;\n } catch (e) {\n throw new CryptoError("Cannot read key info parameters");\n }\n if (getOidByNamedCurve$1(namedCurve) !== namedCurveIdentifier) {\n throw new CryptoError("Key info parameter doesn\'t match to named curve");\n }\n }\n static async importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n keyInfo.privateKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(getOidByNamedCurve$1(algorithm.namedCurve)));\n keyInfo.privateKey = AsnSerializer.serialize(asnKey);\n const key = new EcPrivateKey2();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = "1.2.840.10045.2.1";\n const namedCurve = getOidByNamedCurve$1(algorithm.namedCurve);\n keyInfo.publicKeyAlgorithm.parameters = AsnSerializer.serialize(new index$1.ObjectIdentifier(namedCurve));\n keyInfo.publicKey = asnKey.value;\n const key = new EcPublicKey3();\n key.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static getOpenSSLNamedCurve(curve) {\n switch (curve.toUpperCase()) {\n case "P-256":\n return "prime256v1";\n case "K-256":\n return "secp256k1";\n case "P-384":\n return "secp384r1";\n case "P-521":\n return "secp521r1";\n default:\n return curve;\n }\n }\n};\n__name(EcCrypto, "EcCrypto");\nEcCrypto.publicKeyUsages = ["verify"];\nEcCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar EcdsaProvider2 = class extends EcdsaProvider {\n constructor() {\n super(...arguments);\n this.namedCurves = EcCurves.names;\n this.hashAlgorithms = [\n "SHA-1",\n "SHA-256",\n "SHA-384",\n "SHA-512",\n "shake128",\n "shake256",\n "SHA3-256",\n "SHA3-384",\n "SHA3-512"\n ];\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EcCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return EcCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return EcCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return EcCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EcCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof EcPrivateKey2 || internalKey instanceof EcPublicKey3)) {\n throw new TypeError("key: Is not EC CryptoKey");\n }\n }\n};\n__name(EcdsaProvider2, "EcdsaProvider");\nvar EcdhProvider2 = class extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.namedCurves = EcCurves.names;\n }\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EcCrypto.generateKey({\n ...algorithm,\n name: this.name\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onExportKey(format, key) {\n return EcCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EcCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n const internalKey = getCryptoKey(key);\n if (!(internalKey instanceof EcPrivateKey2 || internalKey instanceof EcPublicKey3)) {\n throw new TypeError("key: Is not EC CryptoKey");\n }\n }\n async onDeriveBits(algorithm, baseKey, length) {\n const bits = await EcCrypto.deriveBits({ ...algorithm, public: getCryptoKey(algorithm.public) }, getCryptoKey(baseKey), length);\n return bits;\n }\n};\n__name(EcdhProvider2, "EcdhProvider");\nvar edOIDs = {\n [index$1.idEd448]: "Ed448",\n "ed448": index$1.idEd448,\n [index$1.idX448]: "X448",\n "x448": index$1.idX448,\n [index$1.idEd25519]: "Ed25519",\n "ed25519": index$1.idEd25519,\n [index$1.idX25519]: "X25519",\n "x25519": index$1.idX25519\n};\nfunction getOidByNamedCurve(namedCurve) {\n const oid = edOIDs[namedCurve.toLowerCase()];\n if (!oid) {\n throw new OperationError(`Cannot convert WebCrypto named curve \'${namedCurve}\' to OID`);\n }\n return oid;\n}\n__name(getOidByNamedCurve, "getOidByNamedCurve");\nvar EdPrivateKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "private";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PrivateKeyInfo);\n return AsnParser.parse(keyInfo.privateKey, index$1.CurvePrivateKey);\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "OKP",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, JsonSerializer.toJSON(key));\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n const keyInfo = new index$1.PrivateKeyInfo();\n keyInfo.privateKeyAlgorithm.algorithm = getOidByNamedCurve(json.crv);\n const key = JsonParser.fromJSON(json, { targetSchema: index$1.CurvePrivateKey });\n keyInfo.privateKey = AsnSerializer.serialize(key);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EdPrivateKey3, "EdPrivateKey");\nvar EdPublicKey3 = class extends AsymmetricKey {\n constructor() {\n super(...arguments);\n this.type = "public";\n }\n getKey() {\n const keyInfo = AsnParser.parse(this.data, index$1.PublicKeyInfo);\n return keyInfo.publicKey;\n }\n toJSON() {\n const key = this.getKey();\n const json = {\n kty: "OKP",\n crv: this.algorithm.namedCurve,\n key_ops: this.usages,\n ext: this.extractable\n };\n return Object.assign(json, {\n x: Convert.ToBase64Url(key)\n });\n }\n fromJSON(json) {\n if (!json.crv) {\n throw new OperationError(`Cannot get named curve from JWK. Property \'crv\' is required`);\n }\n if (!json.x) {\n throw new OperationError(`Cannot get property from JWK. Property \'x\' is required`);\n }\n const keyInfo = new index$1.PublicKeyInfo();\n keyInfo.publicKeyAlgorithm.algorithm = getOidByNamedCurve(json.crv);\n keyInfo.publicKey = Convert.FromBase64Url(json.x);\n this.data = Buffer.from(AsnSerializer.serialize(keyInfo));\n return this;\n }\n};\n__name(EdPublicKey3, "EdPublicKey");\nvar EdCrypto = class {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EdPrivateKey3();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EdPublicKey3();\n publicKey.algorithm = algorithm;\n publicKey.extractable = true;\n publicKey.usages = keyUsages.filter((usage) => this.publicKeyUsages.indexOf(usage) !== -1);\n const type = algorithm.namedCurve.toLowerCase();\n const keys = import_crypto.default.generateKeyPairSync(type, {\n publicKeyEncoding: {\n format: "der",\n type: "spki"\n },\n privateKeyEncoding: {\n format: "der",\n type: "pkcs8"\n }\n });\n privateKey.data = keys.privateKey;\n publicKey.data = keys.publicKey;\n const res = {\n privateKey,\n publicKey\n };\n return res;\n }\n static async sign(algorithm, key, data) {\n if (!key.pem) {\n key.pem = `-----BEGIN PRIVATE KEY-----\n${key.data.toString("base64")}\n-----END PRIVATE KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const signature = import_crypto.default.sign(null, Buffer.from(data), options);\n return BufferSourceConverter.toArrayBuffer(signature);\n }\n static async verify(algorithm, key, signature, data) {\n if (!key.pem) {\n key.pem = `-----BEGIN PUBLIC KEY-----\n${key.data.toString("base64")}\n-----END PUBLIC KEY-----`;\n }\n const options = {\n key: key.pem\n };\n const ok = import_crypto.default.verify(null, Buffer.from(data), options, Buffer.from(signature));\n return ok;\n }\n static async deriveBits(algorithm, baseKey, length) {\n const publicKey = import_crypto.default.createPublicKey({\n key: algorithm.public.data,\n format: "der",\n type: "spki"\n });\n const privateKey = import_crypto.default.createPrivateKey({\n key: baseKey.data,\n format: "der",\n type: "pkcs8"\n });\n const bits = import_crypto.default.diffieHellman({\n publicKey,\n privateKey\n });\n return new Uint8Array(bits).buffer.slice(0, length >> 3);\n }\n static async exportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(key);\n case "pkcs8":\n case "spki":\n return new Uint8Array(key.data).buffer;\n case "raw": {\n const publicKeyInfo = AsnParser.parse(key.data, index$1.PublicKeyInfo);\n return publicKeyInfo.publicKey;\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', pkcs8\' or \'spki\'");\n }\n }\n static async importKey(format, keyData, algorithm, extractable, keyUsages) {\n switch (format.toLowerCase()) {\n case "jwk": {\n const jwk = keyData;\n if (jwk.d) {\n const asnKey = JsonParser.fromJSON(keyData, { targetSchema: index$1.CurvePrivateKey });\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n } else {\n if (!jwk.x) {\n throw new TypeError("keyData: Cannot get required \'x\' filed");\n }\n return this.importPublicKey(Convert.FromBase64Url(jwk.x), algorithm, extractable, keyUsages);\n }\n }\n case "raw": {\n return this.importPublicKey(keyData, algorithm, extractable, keyUsages);\n }\n case "spki": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PublicKeyInfo);\n return this.importPublicKey(keyInfo.publicKey, algorithm, extractable, keyUsages);\n }\n case "pkcs8": {\n const keyInfo = AsnParser.parse(new Uint8Array(keyData), index$1.PrivateKeyInfo);\n const asnKey = AsnParser.parse(keyInfo.privateKey, index$1.CurvePrivateKey);\n return this.importPrivateKey(asnKey, algorithm, extractable, keyUsages);\n }\n default:\n throw new OperationError("format: Must be \'jwk\', \'raw\', \'pkcs8\' or \'spki\'");\n }\n }\n static importPrivateKey(asnKey, algorithm, extractable, keyUsages) {\n const key = new EdPrivateKey3();\n key.fromJSON({\n crv: algorithm.namedCurve,\n d: Convert.ToBase64Url(asnKey.d)\n });\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n static async importPublicKey(asnKey, algorithm, extractable, keyUsages) {\n const key = new EdPublicKey3();\n key.fromJSON({\n crv: algorithm.namedCurve,\n x: Convert.ToBase64Url(asnKey)\n });\n key.algorithm = Object.assign({}, algorithm);\n key.extractable = extractable;\n key.usages = keyUsages;\n return key;\n }\n};\n__name(EdCrypto, "EdCrypto");\nEdCrypto.publicKeyUsages = ["verify"];\nEdCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar EdDsaProvider2 = class extends EdDsaProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EdCrypto.generateKey({\n name: this.name,\n namedCurve: algorithm.namedCurve.replace(/^ed/i, "Ed")\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onSign(algorithm, key, data) {\n return EdCrypto.sign(algorithm, getCryptoKey(key), new Uint8Array(data));\n }\n async onVerify(algorithm, key, signature, data) {\n return EdCrypto.verify(algorithm, getCryptoKey(key), new Uint8Array(signature), new Uint8Array(data));\n }\n async onExportKey(format, key) {\n return EdCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EdCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n};\n__name(EdDsaProvider2, "EdDsaProvider");\nvar EcdhEsProvider2 = class extends EcdhEsProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const keys = await EdCrypto.generateKey({\n name: this.name,\n namedCurve: algorithm.namedCurve.toUpperCase()\n }, extractable, keyUsages);\n return {\n privateKey: setCryptoKey(keys.privateKey),\n publicKey: setCryptoKey(keys.publicKey)\n };\n }\n async onDeriveBits(algorithm, baseKey, length) {\n const bits = await EdCrypto.deriveBits({ ...algorithm, public: getCryptoKey(algorithm.public) }, getCryptoKey(baseKey), length);\n return bits;\n }\n async onExportKey(format, key) {\n return EdCrypto.exportKey(format, getCryptoKey(key));\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n const key = await EdCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);\n return setCryptoKey(key);\n }\n};\n__name(EcdhEsProvider2, "EcdhEsProvider");\nvar PbkdfCryptoKey = class extends CryptoKey2 {\n};\n__name(PbkdfCryptoKey, "PbkdfCryptoKey");\nvar Pbkdf2Provider2 = class extends Pbkdf2Provider {\n async onDeriveBits(algorithm, baseKey, length) {\n return new Promise((resolve, reject) => {\n const salt = BufferSourceConverter.toArrayBuffer(algorithm.salt);\n const hash = algorithm.hash.name.replace("-", "");\n import_crypto.default.pbkdf2(getCryptoKey(baseKey).data, Buffer.from(salt), algorithm.iterations, length >> 3, hash, (err, derivedBits) => {\n if (err) {\n reject(err);\n } else {\n resolve(new Uint8Array(derivedBits).buffer);\n }\n });\n });\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n if (format === "raw") {\n const key = new PbkdfCryptoKey();\n key.data = Buffer.from(keyData);\n key.algorithm = { name: this.name };\n key.extractable = false;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n throw new OperationError("format: Must be \'raw\'");\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof PbkdfCryptoKey)) {\n throw new TypeError("key: Is not PBKDF CryptoKey");\n }\n }\n};\n__name(Pbkdf2Provider2, "Pbkdf2Provider");\nvar HmacCryptoKey = class extends CryptoKey2 {\n get alg() {\n const hash = this.algorithm.hash.name.toUpperCase();\n return `HS${hash.replace("SHA-", "")}`;\n }\n set alg(value) {\n }\n};\n__name(HmacCryptoKey, "HmacCryptoKey");\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], HmacCryptoKey.prototype, "data", void 0);\nvar HmacProvider2 = class extends HmacProvider {\n async onGenerateKey(algorithm, extractable, keyUsages) {\n const length = (algorithm.length || this.getDefaultLength(algorithm.hash.name)) >> 3 << 3;\n const key = new HmacCryptoKey();\n key.algorithm = {\n ...algorithm,\n length,\n name: this.name\n };\n key.extractable = extractable;\n key.usages = keyUsages;\n key.data = import_crypto.default.randomBytes(length >> 3);\n return setCryptoKey(key);\n }\n async onSign(algorithm, key, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(key.algorithm.hash);\n const hmac = import_crypto.default.createHmac(cryptoAlg, getCryptoKey(key).data).update(Buffer.from(data)).digest();\n return new Uint8Array(hmac).buffer;\n }\n async onVerify(algorithm, key, signature, data) {\n const cryptoAlg = ShaCrypto.getAlgorithmName(key.algorithm.hash);\n const hmac = import_crypto.default.createHmac(cryptoAlg, getCryptoKey(key).data).update(Buffer.from(data)).digest();\n return hmac.compare(Buffer.from(signature)) === 0;\n }\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n let key;\n switch (format.toLowerCase()) {\n case "jwk":\n key = JsonParser.fromJSON(keyData, { targetSchema: HmacCryptoKey });\n break;\n case "raw":\n key = new HmacCryptoKey();\n key.data = Buffer.from(keyData);\n break;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n key.algorithm = {\n hash: { name: algorithm.hash.name },\n name: this.name,\n length: key.data.length << 3\n };\n key.extractable = extractable;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n async onExportKey(format, key) {\n switch (format.toLowerCase()) {\n case "jwk":\n return JsonSerializer.toJSON(getCryptoKey(key));\n case "raw":\n return new Uint8Array(getCryptoKey(key).data).buffer;\n default:\n throw new OperationError("format: Must be \'jwk\' or \'raw\'");\n }\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof HmacCryptoKey)) {\n throw new TypeError("key: Is not HMAC CryptoKey");\n }\n }\n};\n__name(HmacProvider2, "HmacProvider");\nvar HkdfCryptoKey = class extends CryptoKey2 {\n};\n__name(HkdfCryptoKey, "HkdfCryptoKey");\nvar HkdfProvider2 = class extends HkdfProvider {\n async onImportKey(format, keyData, algorithm, extractable, keyUsages) {\n if (format.toLowerCase() !== "raw") {\n throw new OperationError("Operation not supported");\n }\n const key = new HkdfCryptoKey();\n key.data = Buffer.from(keyData);\n key.algorithm = { name: this.name };\n key.extractable = extractable;\n key.usages = keyUsages;\n return setCryptoKey(key);\n }\n async onDeriveBits(params, baseKey, length) {\n const hash = params.hash.name.replace("-", "");\n const hashLength = import_crypto.default.createHash(hash).digest().length;\n const byteLength = length / 8;\n const info = BufferSourceConverter.toUint8Array(params.info);\n const PRK = import_crypto.default.createHmac(hash, BufferSourceConverter.toUint8Array(params.salt)).update(BufferSourceConverter.toUint8Array(getCryptoKey(baseKey).data)).digest();\n const blocks = [Buffer.alloc(0)];\n const blockCount = Math.ceil(byteLength / hashLength) + 1;\n for (let i = 1; i < blockCount; ++i) {\n blocks.push(import_crypto.default.createHmac(hash, PRK).update(Buffer.concat([blocks[i - 1], info, Buffer.from([i])])).digest());\n }\n return Buffer.concat(blocks).slice(0, byteLength);\n }\n checkCryptoKey(key, keyUsage) {\n super.checkCryptoKey(key, keyUsage);\n if (!(getCryptoKey(key) instanceof HkdfCryptoKey)) {\n throw new TypeError("key: Is not HKDF CryptoKey");\n }\n }\n};\n__name(HkdfProvider2, "HkdfProvider");\nvar ShakeCrypto = class {\n static digest(algorithm, data) {\n const hash = import_crypto.default.createHash(algorithm.name.toLowerCase(), { outputLength: algorithm.length }).update(Buffer.from(data)).digest();\n return new Uint8Array(hash).buffer;\n }\n};\n__name(ShakeCrypto, "ShakeCrypto");\nvar Shake128Provider2 = class extends Shake128Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(Shake128Provider2, "Shake128Provider");\nvar Shake256Provider2 = class extends Shake256Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(Shake256Provider2, "Shake256Provider");\nvar SubtleCrypto2 = class extends SubtleCrypto {\n constructor() {\n var _a2;\n super();\n this.providers.set(new AesCbcProvider2());\n this.providers.set(new AesCtrProvider2());\n this.providers.set(new AesGcmProvider2());\n this.providers.set(new AesCmacProvider2());\n this.providers.set(new AesKwProvider2());\n this.providers.set(new AesEcbProvider2());\n const ciphers = crypto.getCiphers();\n if (ciphers.includes("des-cbc")) {\n this.providers.set(new DesCbcProvider());\n }\n this.providers.set(new DesEde3CbcProvider());\n this.providers.set(new RsaSsaProvider2());\n this.providers.set(new RsaPssProvider2());\n this.providers.set(new RsaOaepProvider2());\n this.providers.set(new RsaEsProvider());\n this.providers.set(new EcdsaProvider2());\n this.providers.set(new EcdhProvider2());\n this.providers.set(new Sha1Provider());\n this.providers.set(new Sha256Provider());\n this.providers.set(new Sha384Provider());\n this.providers.set(new Sha512Provider());\n this.providers.set(new Pbkdf2Provider2());\n this.providers.set(new HmacProvider2());\n this.providers.set(new HkdfProvider2());\n const nodeMajorVersion = (_a2 = /^v(\\d+)/.exec(process.version)) === null || _a2 === void 0 ? void 0 : _a2[1];\n if (nodeMajorVersion && parseInt(nodeMajorVersion, 10) >= 12) {\n this.providers.set(new Shake128Provider2());\n this.providers.set(new Shake256Provider2());\n }\n const hashes = crypto.getHashes();\n if (hashes.includes("sha3-256")) {\n this.providers.set(new Sha3256Provider());\n }\n if (hashes.includes("sha3-384")) {\n this.providers.set(new Sha3384Provider());\n }\n if (hashes.includes("sha3-512")) {\n this.providers.set(new Sha3512Provider());\n }\n if (nodeMajorVersion && parseInt(nodeMajorVersion, 10) >= 14) {\n this.providers.set(new EdDsaProvider2());\n this.providers.set(new EcdhEsProvider2());\n }\n }\n};\n__name(SubtleCrypto2, "SubtleCrypto");\nvar Crypto2 = class extends Crypto {\n constructor() {\n super(...arguments);\n this.subtle = new SubtleCrypto2();\n }\n getRandomValues(array) {\n if (!ArrayBuffer.isView(array)) {\n throw new TypeError("Failed to execute \'getRandomValues\' on \'Crypto\': parameter 1 is not of type \'ArrayBufferView\'");\n }\n const buffer = Buffer.from(array.buffer, array.byteOffset, array.byteLength);\n import_crypto.default.randomFillSync(buffer);\n return array;\n }\n};\n__name(Crypto2, "Crypto");\n\n// src/primitives/crypto.js\nfunction SubtleCrypto3() {\n if (!(this instanceof SubtleCrypto3))\n return new SubtleCrypto3();\n throw TypeError("Illegal constructor");\n}\n__name(SubtleCrypto3, "SubtleCrypto");\nvar crypto2 = new Crypto2();\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Crypto,\n CryptoKey,\n SubtleCrypto,\n crypto\n});\n'},630:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/encoding.js\nvar encoding_exports = {};\n__export(encoding_exports, {\n atob: () => atob,\n btoa: () => btoa\n});\nmodule.exports = __toCommonJS(encoding_exports);\nvar atob = /* @__PURE__ */ __name((enc) => Buffer.from(enc, "base64").toString("binary"), "atob");\nvar btoa = /* @__PURE__ */ __name((str) => Buffer.from(str, "binary").toString("base64"), "btoa");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n atob,\n btoa\n});\n'},163:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/events.js\nvar events_exports = {};\n__export(events_exports, {\n Event: () => Event,\n EventTarget: () => EventTarget,\n FetchEvent: () => FetchEvent,\n PromiseRejectionEvent: () => PromiseRejectionEvent\n});\nmodule.exports = __toCommonJS(events_exports);\n\n// \nvar define_process_default = { env: {}, versions: { node: "16.6.0" } };\n\n// ../../node_modules/.pnpm/event-target-shim@6.0.2/node_modules/event-target-shim/index.mjs\nfunction assertType(condition, message, ...args) {\n if (!condition) {\n throw new TypeError(format(message, args));\n }\n}\n__name(assertType, "assertType");\nfunction format(message, args) {\n let i = 0;\n return message.replace(/%[os]/gu, () => anyToString(args[i++]));\n}\n__name(format, "format");\nfunction anyToString(x) {\n if (typeof x !== "object" || x === null) {\n return String(x);\n }\n return Object.prototype.toString.call(x);\n}\n__name(anyToString, "anyToString");\nvar currentErrorHandler;\nfunction reportError(maybeError) {\n try {\n const error = maybeError instanceof Error ? maybeError : new Error(anyToString(maybeError));\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n }\n if (typeof dispatchEvent === "function" && typeof ErrorEvent === "function") {\n dispatchEvent(new ErrorEvent("error", { error, message: error.message }));\n } else if (typeof define_process_default !== "undefined" && typeof define_process_default.emit === "function") {\n define_process_default.emit("uncaughtException", error);\n return;\n }\n console.error(error);\n } catch (_a) {\n }\n}\n__name(reportError, "reportError");\nvar Global = typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : typeof globalThis !== "undefined" ? globalThis : void 0;\nvar currentWarnHandler;\nvar Warning = class {\n constructor(code, message) {\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n warn(...args) {\n var _a;\n try {\n if (currentWarnHandler) {\n currentWarnHandler({ ...this, args });\n return;\n }\n const stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : "").replace(/^(?:.+?\\n){2}/gu, "\\n");\n console.warn(this.message, ...args, stack);\n } catch (_b) {\n }\n }\n};\n__name(Warning, "Warning");\nvar InitEventWasCalledWhileDispatching = new Warning("W01", "Unable to initialize event under dispatching.");\nvar FalsyWasAssignedToCancelBubble = new Warning("W02", "Assigning any falsy value to \'cancelBubble\' property has no effect.");\nvar TruthyWasAssignedToReturnValue = new Warning("W03", "Assigning any truthy value to \'returnValue\' property has no effect.");\nvar NonCancelableEventWasCanceled = new Warning("W04", "Unable to preventDefault on non-cancelable events.");\nvar CanceledInPassiveListener = new Warning("W05", "Unable to preventDefault inside passive event listener invocation.");\nvar EventListenerWasDuplicated = new Warning("W06", "An event listener wasn\'t added because it has been added already: %o, %o");\nvar OptionWasIgnored = new Warning("W07", "The %o option value was abandoned because the event listener wasn\'t added as duplicated.");\nvar InvalidEventListener = new Warning("W08", "The \'callback\' argument must be a function or an object that has \'handleEvent\' method: %o");\nvar InvalidAttributeHandler = new Warning("W09", "Event attribute handler must be a function: %o");\nvar Event = class {\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n static get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n static get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n static get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n static get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n constructor(type, eventInitDict) {\n Object.defineProperty(this, "isTrusted", {\n value: false,\n enumerable: true\n });\n const opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now()\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n get type() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n get target() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n get srcElement() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n get currentTarget() {\n return $(this).currentTarget;\n }\n /**\n * The event target of the current dispatching.\n * This doesn\'t support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n composedPath() {\n const currentTarget = $(this).currentTarget;\n if (currentTarget) {\n return [currentTarget];\n }\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get NONE() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n get CAPTURING_PHASE() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n get AT_TARGET() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n get BUBBLING_PHASE() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n get eventPhase() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n /**\n * Stop event bubbling.\n * Because this shim doesn\'t support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n get cancelBubble() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n set cancelBubble(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n } else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n stopImmediatePropagation() {\n const data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n get bubbles() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n get cancelable() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n get returnValue() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n set returnValue(value) {\n if (!value) {\n setCancelFlag($(this));\n } else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n get defaultPrevented() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n get composed() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n get isTrusted() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n get timeStamp() {\n return $(this).timeStamp;\n }\n /**\n * @deprecated Don\'t use this method. The constructor did initialization.\n */\n initEvent(type, bubbles = false, cancelable = false) {\n const data = $(this);\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n internalDataMap.set(this, {\n ...data,\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false\n });\n }\n};\n__name(Event, "Event");\nvar NONE = 0;\nvar CAPTURING_PHASE = 1;\nvar AT_TARGET = 2;\nvar BUBBLING_PHASE = 3;\nvar internalDataMap = /* @__PURE__ */ new WeakMap();\nfunction $(event, name = "this") {\n const retv = internalDataMap.get(event);\n assertType(retv != null, "\'%s\' must be an object that Event constructor created, but got another one: %o", name, event);\n return retv;\n}\n__name($, "$");\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n data.canceledFlag = true;\n}\n__name(setCancelFlag, "setCancelFlag");\nObject.defineProperty(Event, "NONE", { enumerable: true });\nObject.defineProperty(Event, "CAPTURING_PHASE", { enumerable: true });\nObject.defineProperty(Event, "AT_TARGET", { enumerable: true });\nObject.defineProperty(Event, "BUBBLING_PHASE", { enumerable: true });\nvar keys = Object.getOwnPropertyNames(Event.prototype);\nfor (let i = 0; i < keys.length; ++i) {\n if (keys[i] === "constructor") {\n continue;\n }\n Object.defineProperty(Event.prototype, keys[i], { enumerable: true });\n}\nif (typeof Global !== "undefined" && typeof Global.Event !== "undefined") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, "InvalidStateError");\n }\n if (DOMException == null) {\n DOMException = /* @__PURE__ */ __name(class DOMException2 extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DOMException2);\n }\n }\n // eslint-disable-next-line class-methods-use-this\n get code() {\n return 11;\n }\n // eslint-disable-next-line class-methods-use-this\n get name() {\n return "InvalidStateError";\n }\n }, "DOMException");\n Object.defineProperties(DOMException.prototype, {\n code: { enumerable: true },\n name: { enumerable: true }\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n return new DOMException(message);\n}\n__name(createInvalidStateError, "createInvalidStateError");\nvar DOMException;\nvar ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25\n};\nfunction defineErrorCodeProperties(obj) {\n const keys2 = Object.keys(ErrorCodeMap);\n for (let i = 0; i < keys2.length; ++i) {\n const key = keys2[i];\n const value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get() {\n return value;\n },\n configurable: true,\n enumerable: true\n });\n }\n}\n__name(defineErrorCodeProperties, "defineErrorCodeProperties");\nvar EventWrapper = class extends Event {\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n static wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n constructor(event) {\n super(event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n if (event.cancelBubble) {\n super.stopPropagation();\n }\n if (event.defaultPrevented) {\n super.preventDefault();\n }\n internalDataMap$1.set(this, { original: event });\n const keys2 = Object.keys(event);\n for (let i = 0; i < keys2.length; ++i) {\n const key = keys2[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(event, key));\n }\n }\n }\n stopPropagation() {\n super.stopPropagation();\n const { original } = $$1(this);\n if ("stopPropagation" in original) {\n original.stopPropagation();\n }\n }\n get cancelBubble() {\n return super.cancelBubble;\n }\n set cancelBubble(value) {\n super.cancelBubble = value;\n const { original } = $$1(this);\n if ("cancelBubble" in original) {\n original.cancelBubble = value;\n }\n }\n stopImmediatePropagation() {\n super.stopImmediatePropagation();\n const { original } = $$1(this);\n if ("stopImmediatePropagation" in original) {\n original.stopImmediatePropagation();\n }\n }\n get returnValue() {\n return super.returnValue;\n }\n set returnValue(value) {\n super.returnValue = value;\n const { original } = $$1(this);\n if ("returnValue" in original) {\n original.returnValue = value;\n }\n }\n preventDefault() {\n super.preventDefault();\n const { original } = $$1(this);\n if ("preventDefault" in original) {\n original.preventDefault();\n }\n }\n get timeStamp() {\n const { original } = $$1(this);\n if ("timeStamp" in original) {\n return original.timeStamp;\n }\n return super.timeStamp;\n }\n};\n__name(EventWrapper, "EventWrapper");\nvar internalDataMap$1 = /* @__PURE__ */ new WeakMap();\nfunction $$1(event) {\n const retv = internalDataMap$1.get(event);\n assertType(retv != null, "\'this\' is expected an Event object, but got", event);\n return retv;\n}\n__name($$1, "$$1");\nvar wrapperClassCache = /* @__PURE__ */ new WeakMap();\nwrapperClassCache.set(Object.prototype, EventWrapper);\nif (typeof Global !== "undefined" && typeof Global.Event !== "undefined") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\nfunction getWrapperClassOf(originalEvent) {\n const prototype = Object.getPrototypeOf(originalEvent);\n if (prototype == null) {\n return EventWrapper;\n }\n let wrapper = wrapperClassCache.get(prototype);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n return wrapper;\n}\n__name(getWrapperClassOf, "getWrapperClassOf");\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n class CustomEventWrapper extends BaseEventWrapper {\n }\n __name(CustomEventWrapper, "CustomEventWrapper");\n const keys2 = Object.keys(originalPrototype);\n for (let i = 0; i < keys2.length; ++i) {\n Object.defineProperty(CustomEventWrapper.prototype, keys2[i], defineRedirectDescriptor(originalPrototype, keys2[i]));\n }\n return CustomEventWrapper;\n}\n__name(defineWrapper, "defineWrapper");\nfunction defineRedirectDescriptor(obj, key) {\n const d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get() {\n const original = $$1(this).original;\n const value = original[key];\n if (typeof value === "function") {\n return value.bind(original);\n }\n return value;\n },\n set(value) {\n const original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable\n };\n}\n__name(defineRedirectDescriptor, "defineRedirectDescriptor");\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback,\n flags: (capture ? 1 : 0) | (passive ? 2 : 0) | (once ? 4 : 0),\n signal,\n signalListener\n };\n}\n__name(createListener, "createListener");\nfunction setRemoved(listener) {\n listener.flags |= 8;\n}\n__name(setRemoved, "setRemoved");\nfunction isCapture(listener) {\n return (listener.flags & 1) === 1;\n}\n__name(isCapture, "isCapture");\nfunction isPassive(listener) {\n return (listener.flags & 2) === 2;\n}\n__name(isPassive, "isPassive");\nfunction isOnce(listener) {\n return (listener.flags & 4) === 4;\n}\n__name(isOnce, "isOnce");\nfunction isRemoved(listener) {\n return (listener.flags & 8) === 8;\n}\n__name(isRemoved, "isRemoved");\nfunction invokeCallback({ callback }, target, event) {\n try {\n if (typeof callback === "function") {\n callback.call(target, event);\n } else if (typeof callback.handleEvent === "function") {\n callback.handleEvent(event);\n }\n } catch (thrownError) {\n reportError(thrownError);\n }\n}\n__name(invokeCallback, "invokeCallback");\nfunction findIndexOfListener({ listeners }, callback, capture) {\n for (let i = 0; i < listeners.length; ++i) {\n if (listeners[i].callback === callback && isCapture(listeners[i]) === capture) {\n return i;\n }\n }\n return -1;\n}\n__name(findIndexOfListener, "findIndexOfListener");\nfunction addListener(list, callback, capture, passive, once, signal) {\n let signalListener;\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener("abort", signalListener);\n }\n const listener = createListener(callback, capture, passive, once, signal, signalListener);\n if (list.cow) {\n list.cow = false;\n list.listeners = [...list.listeners, listener];\n } else {\n list.listeners.push(listener);\n }\n return listener;\n}\n__name(addListener, "addListener");\nfunction removeListener(list, callback, capture) {\n const index = findIndexOfListener(list, callback, capture);\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n return false;\n}\n__name(removeListener, "removeListener");\nfunction removeListenerAt(list, index, disableCow = false) {\n const listener = list.listeners[index];\n setRemoved(listener);\n if (listener.signal) {\n listener.signal.removeEventListener("abort", listener.signalListener);\n }\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter((_, i) => i !== index);\n return false;\n }\n list.listeners.splice(index, 1);\n return true;\n}\n__name(removeListenerAt, "removeListenerAt");\nfunction createListenerListMap() {\n return /* @__PURE__ */ Object.create(null);\n}\n__name(createListenerListMap, "createListenerListMap");\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n return (_a = listenerMap[type]) !== null && _a !== void 0 ? _a : listenerMap[type] = {\n attrCallback: void 0,\n attrListener: void 0,\n cow: false,\n listeners: []\n };\n}\n__name(ensureListenerList, "ensureListenerList");\nvar EventTarget = class {\n /**\n * Initialize this instance.\n */\n constructor() {\n internalDataMap$2.set(this, createListenerListMap());\n }\n // Implementation\n addEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, once, passive, signal, type } = normalizeAddOptions(type0, callback0, options0);\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n const list = ensureListenerList(listenerMap, type);\n const i = findIndexOfListener(list, callback, capture);\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n }\n addListener(list, callback, capture, passive, once, signal);\n }\n // Implementation\n removeEventListener(type0, callback0, options0) {\n const listenerMap = $$2(this);\n const { callback, capture, type } = normalizeOptions(type0, callback0, options0);\n const list = listenerMap[type];\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n }\n // Implementation\n dispatchEvent(e) {\n const list = $$2(this)[String(e.type)];\n if (list == null) {\n return true;\n }\n const event = e instanceof Event ? e : EventWrapper.wrap(e);\n const eventData = $(event, "event");\n if (eventData.dispatchFlag) {\n throw createInvalidStateError("This event has been in dispatching.");\n }\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n if (!eventData.stopPropagationFlag) {\n const { cow, listeners } = list;\n list.cow = true;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n if (isRemoved(listener)) {\n continue;\n }\n if (isOnce(listener) && removeListenerAt(list, i, !cow)) {\n i -= 1;\n }\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false;\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n }\n if (!cow) {\n list.cow = false;\n }\n }\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n};\n__name(EventTarget, "EventTarget");\nvar internalDataMap$2 = /* @__PURE__ */ new WeakMap();\nfunction $$2(target, name = "this") {\n const retv = internalDataMap$2.get(target);\n assertType(retv != null, "\'%s\' must be an object that EventTarget constructor created, but got another one: %o", name, target);\n return retv;\n}\n__name($$2, "$$2");\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n assertCallback(callback);\n if (typeof options === "object" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : void 0\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: void 0\n };\n}\n__name(normalizeAddOptions, "normalizeAddOptions");\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n if (typeof options === "object" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options.capture)\n };\n }\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : void 0,\n capture: Boolean(options)\n };\n}\n__name(normalizeOptions, "normalizeOptions");\nfunction assertCallback(callback) {\n if (typeof callback === "function" || typeof callback === "object" && callback !== null && typeof callback.handleEvent === "function") {\n return;\n }\n if (callback == null || typeof callback === "object") {\n InvalidEventListener.warn(callback);\n return;\n }\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n__name(assertCallback, "assertCallback");\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? "capture" : "bubble", listener.callback);\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn("passive");\n }\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn("once");\n }\n if (listener.signal !== signal) {\n OptionWasIgnored.warn("signal");\n }\n}\n__name(warnDuplicate, "warnDuplicate");\nvar keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\nfor (let i = 0; i < keys$1.length; ++i) {\n if (keys$1[i] === "constructor") {\n continue;\n }\n Object.defineProperty(EventTarget.prototype, keys$1[i], { enumerable: true });\n}\nif (typeof Global !== "undefined" && typeof Global.EventTarget !== "undefined") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n\n// src/primitives/events.js\nvar FetchEvent = class extends Event {\n constructor(request) {\n super("fetch");\n this.request = request;\n this.response = null;\n this.awaiting = /* @__PURE__ */ new Set();\n }\n respondWith(response) {\n this.response = response;\n }\n waitUntil(promise) {\n this.awaiting.add(promise);\n promise.finally(() => this.awaiting.delete(promise));\n }\n};\n__name(FetchEvent, "FetchEvent");\nvar PromiseRejectionEvent = class extends Event {\n constructor(type, init) {\n super(type, { cancelable: true });\n this.promise = init.promise;\n this.reason = init.reason;\n }\n};\n__name(PromiseRejectionEvent, "PromiseRejectionEvent");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Event,\n EventTarget,\n FetchEvent,\n PromiseRejectionEvent\n});\n'},746:e=>{e.exports='"use strict";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. "__esModule" has not been set), then set\n // "default" to the CommonJS "module.exports" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// \nvar define_process_default;\nvar init_define_process = __esm({\n ""() {\n define_process_default = { env: {}, versions: { node: "16.6.0" } };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/symbols.js\nvar require_symbols = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/symbols.js"(exports, module2) {\n "use strict";\n init_define_process();\n module2.exports = {\n kUrl: Symbol("url"),\n kHeaders: Symbol("headers"),\n kSignal: Symbol("signal"),\n kState: Symbol("state"),\n kGuard: Symbol("guard"),\n kRealm: Symbol("realm")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/symbols.js\nvar require_symbols2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/symbols.js"(exports, module2) {\n init_define_process();\n module2.exports = {\n kClose: Symbol("close"),\n kDestroy: Symbol("destroy"),\n kDispatch: Symbol("dispatch"),\n kUrl: Symbol("url"),\n kWriting: Symbol("writing"),\n kResuming: Symbol("resuming"),\n kQueue: Symbol("queue"),\n kConnect: Symbol("connect"),\n kConnecting: Symbol("connecting"),\n kHeadersList: Symbol("headers list"),\n kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),\n kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),\n kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),\n kKeepAliveTimeoutValue: Symbol("keep alive timeout"),\n kKeepAlive: Symbol("keep alive"),\n kHeadersTimeout: Symbol("headers timeout"),\n kBodyTimeout: Symbol("body timeout"),\n kServerName: Symbol("server name"),\n kLocalAddress: Symbol("local address"),\n kHost: Symbol("host"),\n kNoRef: Symbol("no ref"),\n kBodyUsed: Symbol("used"),\n kRunning: Symbol("running"),\n kBlocking: Symbol("blocking"),\n kPending: Symbol("pending"),\n kSize: Symbol("size"),\n kBusy: Symbol("busy"),\n kQueued: Symbol("queued"),\n kFree: Symbol("free"),\n kConnected: Symbol("connected"),\n kClosed: Symbol("closed"),\n kNeedDrain: Symbol("need drain"),\n kReset: Symbol("reset"),\n kDestroyed: Symbol.for("nodejs.stream.destroyed"),\n kMaxHeadersSize: Symbol("max headers size"),\n kRunningIdx: Symbol("running index"),\n kPendingIdx: Symbol("pending index"),\n kError: Symbol("error"),\n kClients: Symbol("clients"),\n kClient: Symbol("client"),\n kParser: Symbol("parser"),\n kOnDestroyed: Symbol("destroy callbacks"),\n kPipelining: Symbol("pipelining"),\n kSocket: Symbol("socket"),\n kHostHeader: Symbol("host header"),\n kConnector: Symbol("connector"),\n kStrictContentLength: Symbol("strict content length"),\n kMaxRedirections: Symbol("maxRedirections"),\n kMaxRequests: Symbol("maxRequestsPerClient"),\n kProxy: Symbol("proxy agent options"),\n kCounter: Symbol("socket request counter"),\n kInterceptors: Symbol("dispatch interceptors"),\n kMaxResponseSize: Symbol("max response size")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/errors.js\nvar require_errors = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/errors.js"(exports, module2) {\n "use strict";\n init_define_process();\n var UndiciError = class extends Error {\n constructor(message) {\n super(message);\n this.name = "UndiciError";\n this.code = "UND_ERR";\n }\n };\n __name(UndiciError, "UndiciError");\n var ConnectTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ConnectTimeoutError);\n this.name = "ConnectTimeoutError";\n this.message = message || "Connect Timeout Error";\n this.code = "UND_ERR_CONNECT_TIMEOUT";\n }\n };\n __name(ConnectTimeoutError, "ConnectTimeoutError");\n var HeadersTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, HeadersTimeoutError);\n this.name = "HeadersTimeoutError";\n this.message = message || "Headers Timeout Error";\n this.code = "UND_ERR_HEADERS_TIMEOUT";\n }\n };\n __name(HeadersTimeoutError, "HeadersTimeoutError");\n var HeadersOverflowError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, HeadersOverflowError);\n this.name = "HeadersOverflowError";\n this.message = message || "Headers Overflow Error";\n this.code = "UND_ERR_HEADERS_OVERFLOW";\n }\n };\n __name(HeadersOverflowError, "HeadersOverflowError");\n var BodyTimeoutError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, BodyTimeoutError);\n this.name = "BodyTimeoutError";\n this.message = message || "Body Timeout Error";\n this.code = "UND_ERR_BODY_TIMEOUT";\n }\n };\n __name(BodyTimeoutError, "BodyTimeoutError");\n var ResponseStatusCodeError = class extends UndiciError {\n constructor(message, statusCode, headers, body) {\n super(message);\n Error.captureStackTrace(this, ResponseStatusCodeError);\n this.name = "ResponseStatusCodeError";\n this.message = message || "Response Status Code Error";\n this.code = "UND_ERR_RESPONSE_STATUS_CODE";\n this.body = body;\n this.status = statusCode;\n this.statusCode = statusCode;\n this.headers = headers;\n }\n };\n __name(ResponseStatusCodeError, "ResponseStatusCodeError");\n var InvalidArgumentError2 = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InvalidArgumentError2);\n this.name = "InvalidArgumentError";\n this.message = message || "Invalid Argument Error";\n this.code = "UND_ERR_INVALID_ARG";\n }\n };\n __name(InvalidArgumentError2, "InvalidArgumentError");\n var InvalidReturnValueError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InvalidReturnValueError);\n this.name = "InvalidReturnValueError";\n this.message = message || "Invalid Return Value Error";\n this.code = "UND_ERR_INVALID_RETURN_VALUE";\n }\n };\n __name(InvalidReturnValueError, "InvalidReturnValueError");\n var RequestAbortedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, RequestAbortedError);\n this.name = "AbortError";\n this.message = message || "Request aborted";\n this.code = "UND_ERR_ABORTED";\n }\n };\n __name(RequestAbortedError, "RequestAbortedError");\n var InformationalError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, InformationalError);\n this.name = "InformationalError";\n this.message = message || "Request information";\n this.code = "UND_ERR_INFO";\n }\n };\n __name(InformationalError, "InformationalError");\n var RequestContentLengthMismatchError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, RequestContentLengthMismatchError);\n this.name = "RequestContentLengthMismatchError";\n this.message = message || "Request body length does not match content-length header";\n this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";\n }\n };\n __name(RequestContentLengthMismatchError, "RequestContentLengthMismatchError");\n var ResponseContentLengthMismatchError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ResponseContentLengthMismatchError);\n this.name = "ResponseContentLengthMismatchError";\n this.message = message || "Response body length does not match content-length header";\n this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";\n }\n };\n __name(ResponseContentLengthMismatchError, "ResponseContentLengthMismatchError");\n var ClientDestroyedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ClientDestroyedError);\n this.name = "ClientDestroyedError";\n this.message = message || "The client is destroyed";\n this.code = "UND_ERR_DESTROYED";\n }\n };\n __name(ClientDestroyedError, "ClientDestroyedError");\n var ClientClosedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ClientClosedError);\n this.name = "ClientClosedError";\n this.message = message || "The client is closed";\n this.code = "UND_ERR_CLOSED";\n }\n };\n __name(ClientClosedError, "ClientClosedError");\n var SocketError = class extends UndiciError {\n constructor(message, socket) {\n super(message);\n Error.captureStackTrace(this, SocketError);\n this.name = "SocketError";\n this.message = message || "Socket error";\n this.code = "UND_ERR_SOCKET";\n this.socket = socket;\n }\n };\n __name(SocketError, "SocketError");\n var NotSupportedError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, NotSupportedError);\n this.name = "NotSupportedError";\n this.message = message || "Not supported error";\n this.code = "UND_ERR_NOT_SUPPORTED";\n }\n };\n __name(NotSupportedError, "NotSupportedError");\n var BalancedPoolMissingUpstreamError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, NotSupportedError);\n this.name = "MissingUpstreamError";\n this.message = message || "No upstream has been added to the BalancedPool";\n this.code = "UND_ERR_BPL_MISSING_UPSTREAM";\n }\n };\n __name(BalancedPoolMissingUpstreamError, "BalancedPoolMissingUpstreamError");\n var HTTPParserError = class extends Error {\n constructor(message, code, data) {\n super(message);\n Error.captureStackTrace(this, HTTPParserError);\n this.name = "HTTPParserError";\n this.code = code ? `HPE_${code}` : void 0;\n this.data = data ? data.toString() : void 0;\n }\n };\n __name(HTTPParserError, "HTTPParserError");\n var ResponseExceededMaxSizeError = class extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, ResponseExceededMaxSizeError);\n this.name = "ResponseExceededMaxSizeError";\n this.message = message || "Response content exceeded max size";\n this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";\n }\n };\n __name(ResponseExceededMaxSizeError, "ResponseExceededMaxSizeError");\n module2.exports = {\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError: InvalidArgumentError2,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/util.js\nvar require_util = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var assert = require("assert");\n var { kDestroyed, kBodyUsed } = require_symbols2();\n var { IncomingMessage } = require("http");\n var stream = require("stream");\n var net = require("net");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var { Blob: Blob2 } = require("buffer");\n var nodeUtil = require("util");\n var { stringify } = require("querystring");\n var [nodeMajor, nodeMinor] = define_process_default.versions.node.split(".").map((v) => Number(v));\n function nop() {\n }\n __name(nop, "nop");\n function isStream(obj) {\n return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";\n }\n __name(isStream, "isStream");\n function isBlobLike(object) {\n return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);\n }\n __name(isBlobLike, "isBlobLike");\n function buildURL(url, queryParams) {\n if (url.includes("?") || url.includes("#")) {\n throw new Error(\'Query params cannot be passed when url already contains "?" or "#".\');\n }\n const stringified = stringify(queryParams);\n if (stringified) {\n url += "?" + stringified;\n }\n return url;\n }\n __name(buildURL, "buildURL");\n function parseURL(url) {\n if (typeof url === "string") {\n url = new URL(url);\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");\n }\n return url;\n }\n if (!url || typeof url !== "object") {\n throw new InvalidArgumentError2("Invalid URL: The URL argument must be a non-null object.");\n }\n if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {\n throw new InvalidArgumentError2("Invalid URL: port must be a valid integer or a string representation of an integer.");\n }\n if (url.path != null && typeof url.path !== "string") {\n throw new InvalidArgumentError2("Invalid URL path: the path must be a string or null/undefined.");\n }\n if (url.pathname != null && typeof url.pathname !== "string") {\n throw new InvalidArgumentError2("Invalid URL pathname: the pathname must be a string or null/undefined.");\n }\n if (url.hostname != null && typeof url.hostname !== "string") {\n throw new InvalidArgumentError2("Invalid URL hostname: the hostname must be a string or null/undefined.");\n }\n if (url.origin != null && typeof url.origin !== "string") {\n throw new InvalidArgumentError2("Invalid URL origin: the origin must be a string or null/undefined.");\n }\n if (!/^https?:/.test(url.origin || url.protocol)) {\n throw new InvalidArgumentError2("Invalid URL protocol: the URL must start with `http:` or `https:`.");\n }\n if (!(url instanceof URL)) {\n const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;\n let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;\n let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;\n if (origin.endsWith("/")) {\n origin = origin.substring(0, origin.length - 1);\n }\n if (path && !path.startsWith("/")) {\n path = `/${path}`;\n }\n url = new URL(origin + path);\n }\n return url;\n }\n __name(parseURL, "parseURL");\n function parseOrigin(url) {\n url = parseURL(url);\n if (url.pathname !== "/" || url.search || url.hash) {\n throw new InvalidArgumentError2("invalid url");\n }\n return url;\n }\n __name(parseOrigin, "parseOrigin");\n function getHostname(host) {\n if (host[0] === "[") {\n const idx2 = host.indexOf("]");\n assert(idx2 !== -1);\n return host.substr(1, idx2 - 1);\n }\n const idx = host.indexOf(":");\n if (idx === -1)\n return host;\n return host.substr(0, idx);\n }\n __name(getHostname, "getHostname");\n function getServerName(host) {\n if (!host) {\n return null;\n }\n assert.strictEqual(typeof host, "string");\n const servername = getHostname(host);\n if (net.isIP(servername)) {\n return "";\n }\n return servername;\n }\n __name(getServerName, "getServerName");\n function deepClone(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n __name(deepClone, "deepClone");\n function isAsyncIterable(obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");\n }\n __name(isAsyncIterable, "isAsyncIterable");\n function isIterable(obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));\n }\n __name(isIterable, "isIterable");\n function bodyLength(body) {\n if (body == null) {\n return 0;\n } else if (isStream(body)) {\n const state = body._readableState;\n return state && state.ended === true && Number.isFinite(state.length) ? state.length : null;\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null;\n } else if (isBuffer(body)) {\n return body.byteLength;\n }\n return null;\n }\n __name(bodyLength, "bodyLength");\n function isDestroyed(stream2) {\n return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);\n }\n __name(isDestroyed, "isDestroyed");\n function isReadableAborted(stream2) {\n const state = stream2 && stream2._readableState;\n return isDestroyed(stream2) && state && !state.endEmitted;\n }\n __name(isReadableAborted, "isReadableAborted");\n function destroy(stream2, err) {\n if (!isStream(stream2) || isDestroyed(stream2)) {\n return;\n }\n if (typeof stream2.destroy === "function") {\n if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {\n stream2.socket = null;\n }\n stream2.destroy(err);\n } else if (err) {\n define_process_default.nextTick((stream3, err2) => {\n stream3.emit("error", err2);\n }, stream2, err);\n }\n if (stream2.destroyed !== true) {\n stream2[kDestroyed] = true;\n }\n }\n __name(destroy, "destroy");\n var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/;\n function parseKeepAliveTimeout(val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);\n return m ? parseInt(m[1], 10) * 1e3 : null;\n }\n __name(parseKeepAliveTimeout, "parseKeepAliveTimeout");\n function parseHeaders(headers, obj = {}) {\n for (let i = 0; i < headers.length; i += 2) {\n const key = headers[i].toString().toLowerCase();\n let val = obj[key];\n if (!val) {\n if (Array.isArray(headers[i + 1])) {\n obj[key] = headers[i + 1];\n } else {\n obj[key] = headers[i + 1].toString("utf8");\n }\n } else {\n if (!Array.isArray(val)) {\n val = [val];\n obj[key] = val;\n }\n val.push(headers[i + 1].toString("utf8"));\n }\n }\n if ("content-length" in obj && "content-disposition" in obj) {\n obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");\n }\n return obj;\n }\n __name(parseHeaders, "parseHeaders");\n function parseRawHeaders(headers) {\n const ret = [];\n let hasContentLength = false;\n let contentDispositionIdx = -1;\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0].toString();\n const val = headers[n + 1].toString("utf8");\n if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {\n ret.push(key, val);\n hasContentLength = true;\n } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {\n contentDispositionIdx = ret.push(key, val) - 1;\n } else {\n ret.push(key, val);\n }\n }\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");\n }\n return ret;\n }\n __name(parseRawHeaders, "parseRawHeaders");\n function isBuffer(buffer) {\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);\n }\n __name(isBuffer, "isBuffer");\n function validateHandler(handler, method, upgrade) {\n if (!handler || typeof handler !== "object") {\n throw new InvalidArgumentError2("handler must be an object");\n }\n if (typeof handler.onConnect !== "function") {\n throw new InvalidArgumentError2("invalid onConnect method");\n }\n if (typeof handler.onError !== "function") {\n throw new InvalidArgumentError2("invalid onError method");\n }\n if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) {\n throw new InvalidArgumentError2("invalid onBodySent method");\n }\n if (upgrade || method === "CONNECT") {\n if (typeof handler.onUpgrade !== "function") {\n throw new InvalidArgumentError2("invalid onUpgrade method");\n }\n } else {\n if (typeof handler.onHeaders !== "function") {\n throw new InvalidArgumentError2("invalid onHeaders method");\n }\n if (typeof handler.onData !== "function") {\n throw new InvalidArgumentError2("invalid onData method");\n }\n if (typeof handler.onComplete !== "function") {\n throw new InvalidArgumentError2("invalid onComplete method");\n }\n }\n }\n __name(validateHandler, "validateHandler");\n function isDisturbed(body) {\n return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body)));\n }\n __name(isDisturbed, "isDisturbed");\n function isErrored(body) {\n return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: \'errored\'/.test(\n nodeUtil.inspect(body)\n )));\n }\n __name(isErrored, "isErrored");\n function isReadable(body) {\n return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: \'readable\'/.test(\n nodeUtil.inspect(body)\n )));\n }\n __name(isReadable, "isReadable");\n function getSocketInfo(socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n };\n }\n __name(getSocketInfo, "getSocketInfo");\n var ReadableStream;\n function ReadableStreamFrom(iterable) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n if (ReadableStream.from) {\n return ReadableStream.from(iterable);\n }\n let iterator;\n return new ReadableStream(\n {\n async start() {\n iterator = iterable[Symbol.asyncIterator]();\n },\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n queueMicrotask(() => {\n controller.close();\n });\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);\n controller.enqueue(new Uint8Array(buf));\n }\n return controller.desiredSize > 0;\n },\n async cancel(reason) {\n await iterator.return();\n }\n },\n 0\n );\n }\n __name(ReadableStreamFrom, "ReadableStreamFrom");\n function isFormDataLike(object) {\n return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";\n }\n __name(isFormDataLike, "isFormDataLike");\n function throwIfAborted(signal) {\n if (!signal) {\n return;\n }\n if (typeof signal.throwIfAborted === "function") {\n signal.throwIfAborted();\n } else {\n if (signal.aborted) {\n const err = new Error("The operation was aborted");\n err.name = "AbortError";\n throw err;\n }\n }\n }\n __name(throwIfAborted, "throwIfAborted");\n var hasToWellFormed = !!String.prototype.toWellFormed;\n function toUSVString(val) {\n if (hasToWellFormed) {\n return `${val}`.toWellFormed();\n } else if (nodeUtil.toUSVString) {\n return nodeUtil.toUSVString(val);\n }\n return `${val}`;\n }\n __name(toUSVString, "toUSVString");\n var kEnumerableProperty = /* @__PURE__ */ Object.create(null);\n kEnumerableProperty.enumerable = true;\n module2.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isReadableAborted,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n throwIfAborted,\n nodeMajor,\n nodeMinor,\n nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/constants.js\nvar require_constants = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/constants.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { MessageChannel, receiveMessageOnPort } = require("worker_threads");\n var corsSafeListedMethods = ["GET", "HEAD", "POST"];\n var nullBodyStatus = [101, 204, 205, 304];\n var redirectStatus = [301, 302, 303, 307, 308];\n var badPorts = [\n "1",\n "7",\n "9",\n "11",\n "13",\n "15",\n "17",\n "19",\n "20",\n "21",\n "22",\n "23",\n "25",\n "37",\n "42",\n "43",\n "53",\n "69",\n "77",\n "79",\n "87",\n "95",\n "101",\n "102",\n "103",\n "104",\n "109",\n "110",\n "111",\n "113",\n "115",\n "117",\n "119",\n "123",\n "135",\n "137",\n "139",\n "143",\n "161",\n "179",\n "389",\n "427",\n "465",\n "512",\n "513",\n "514",\n "515",\n "526",\n "530",\n "531",\n "532",\n "540",\n "548",\n "554",\n "556",\n "563",\n "587",\n "601",\n "636",\n "989",\n "990",\n "993",\n "995",\n "1719",\n "1720",\n "1723",\n "2049",\n "3659",\n "4045",\n "5060",\n "5061",\n "6000",\n "6566",\n "6665",\n "6666",\n "6667",\n "6668",\n "6669",\n "6697",\n "10080"\n ];\n var referrerPolicy = [\n "",\n "no-referrer",\n "no-referrer-when-downgrade",\n "same-origin",\n "origin",\n "strict-origin",\n "origin-when-cross-origin",\n "strict-origin-when-cross-origin",\n "unsafe-url"\n ];\n var requestRedirect = ["follow", "manual", "error"];\n var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];\n var requestMode = ["navigate", "same-origin", "no-cors", "cors"];\n var requestCredentials = ["omit", "same-origin", "include"];\n var requestCache = [\n "default",\n "no-store",\n "reload",\n "no-cache",\n "force-cache",\n "only-if-cached"\n ];\n var requestBodyHeader = [\n "content-encoding",\n "content-language",\n "content-location",\n "content-type",\n // See https://github.com/nodejs/undici/issues/2021\n // \'Content-Length\' is a forbidden header name, which is typically\n // removed in the Headers implementation. However, undici doesn\'t\n // filter out headers, so we add it here.\n "content-length"\n ];\n var requestDuplex = [\n "half"\n ];\n var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];\n var subresource = [\n "audio",\n "audioworklet",\n "font",\n "image",\n "manifest",\n "paintworklet",\n "script",\n "style",\n "track",\n "video",\n "xslt",\n ""\n ];\n var DOMException = globalThis.DOMException ?? (() => {\n try {\n atob("~");\n } catch (err) {\n return Object.getPrototypeOf(err).constructor;\n }\n })();\n var channel;\n var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js\n // structuredClone was added in v17.0.0, but fetch supports v16.8\n /* @__PURE__ */ __name(function structuredClone2(value, options = void 0) {\n if (arguments.length === 0) {\n throw new TypeError("missing argument");\n }\n if (!channel) {\n channel = new MessageChannel();\n }\n channel.port1.unref();\n channel.port2.unref();\n channel.port1.postMessage(value, options == null ? void 0 : options.transfer);\n return receiveMessageOnPort(channel.port2).message;\n }, "structuredClone");\n module2.exports = {\n DOMException,\n structuredClone,\n subresource,\n forbiddenMethods,\n requestBodyHeader,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n redirectStatus,\n corsSafeListedMethods,\n nullBodyStatus,\n safeMethods,\n badPorts,\n requestDuplex\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/global.js\nvar require_global = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/global.js"(exports, module2) {\n "use strict";\n init_define_process();\n var globalOrigin = Symbol.for("undici.globalOrigin.1");\n function getGlobalOrigin() {\n return globalThis[globalOrigin];\n }\n __name(getGlobalOrigin, "getGlobalOrigin");\n function setGlobalOrigin(newOrigin) {\n if (newOrigin !== void 0 && typeof newOrigin !== "string" && !(newOrigin instanceof URL)) {\n throw new Error("Invalid base url");\n }\n if (newOrigin === void 0) {\n Object.defineProperty(globalThis, globalOrigin, {\n value: void 0,\n writable: true,\n enumerable: false,\n configurable: false\n });\n return;\n }\n const parsedURL = new URL(newOrigin);\n if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {\n throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);\n }\n Object.defineProperty(globalThis, globalOrigin, {\n value: parsedURL,\n writable: true,\n enumerable: false,\n configurable: false\n });\n }\n __name(setGlobalOrigin, "setGlobalOrigin");\n module2.exports = {\n getGlobalOrigin,\n setGlobalOrigin\n };\n }\n});\n\n// src/patches/util-types.js\nvar require_util_types = __commonJS({\n "src/patches/util-types.js"(exports, module2) {\n init_define_process();\n module2.exports = require("util").types;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/util.js\nvar require_util2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = require_constants();\n var { getGlobalOrigin } = require_global();\n var { performance: performance2 } = require("perf_hooks");\n var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util();\n var assert = require("assert");\n var { isUint8Array } = require_util_types();\n var crypto;\n try {\n crypto = require("crypto");\n } catch {\n }\n function responseURL(response) {\n const urlList = response.urlList;\n const length = urlList.length;\n return length === 0 ? null : urlList[length - 1].toString();\n }\n __name(responseURL, "responseURL");\n function responseLocationURL(response, requestFragment) {\n if (!redirectStatus.includes(response.status)) {\n return null;\n }\n let location = response.headersList.get("location");\n if (location !== null && isValidHeaderValue2(location)) {\n location = new URL(location, responseURL(response));\n }\n if (location && !location.hash) {\n location.hash = requestFragment;\n }\n return location;\n }\n __name(responseLocationURL, "responseLocationURL");\n function requestCurrentURL(request) {\n return request.urlList[request.urlList.length - 1];\n }\n __name(requestCurrentURL, "requestCurrentURL");\n function requestBadPort(request) {\n const url = requestCurrentURL(request);\n if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {\n return "blocked";\n }\n return "allowed";\n }\n __name(requestBadPort, "requestBadPort");\n function isErrorLike(object) {\n var _a, _b;\n return object instanceof Error || (((_a = object == null ? void 0 : object.constructor) == null ? void 0 : _a.name) === "Error" || ((_b = object == null ? void 0 : object.constructor) == null ? void 0 : _b.name) === "DOMException");\n }\n __name(isErrorLike, "isErrorLike");\n function isValidReasonPhrase(statusText) {\n for (let i = 0; i < statusText.length; ++i) {\n const c = statusText.charCodeAt(i);\n if (!(c === 9 || // HTAB\n c >= 32 && c <= 126 || // SP / VCHAR\n c >= 128 && c <= 255)) {\n return false;\n }\n }\n return true;\n }\n __name(isValidReasonPhrase, "isValidReasonPhrase");\n function isTokenChar(c) {\n return !(c >= 127 || c <= 32 || c === "(" || c === ")" || c === "<" || c === ">" || c === "@" || c === "," || c === ";" || c === ":" || c === "\\\\" || c === \'"\' || c === "/" || c === "[" || c === "]" || c === "?" || c === "=" || c === "{" || c === "}");\n }\n __name(isTokenChar, "isTokenChar");\n function isValidHTTPToken(characters) {\n if (!characters || typeof characters !== "string") {\n return false;\n }\n for (let i = 0; i < characters.length; ++i) {\n const c = characters.charCodeAt(i);\n if (c > 127 || !isTokenChar(c)) {\n return false;\n }\n }\n return true;\n }\n __name(isValidHTTPToken, "isValidHTTPToken");\n function isValidHeaderName2(potentialValue) {\n if (potentialValue.length === 0) {\n return false;\n }\n return isValidHTTPToken(potentialValue);\n }\n __name(isValidHeaderName2, "isValidHeaderName");\n function isValidHeaderValue2(potentialValue) {\n if (potentialValue.startsWith("\t") || potentialValue.startsWith(" ") || potentialValue.endsWith("\t") || potentialValue.endsWith(" ")) {\n return false;\n }\n if (potentialValue.includes("\\0") || potentialValue.includes("\\r") || potentialValue.includes("\\n")) {\n return false;\n }\n return true;\n }\n __name(isValidHeaderValue2, "isValidHeaderValue");\n function setRequestReferrerPolicyOnRedirect(request, actualResponse) {\n const { headersList } = actualResponse;\n const policyHeader = (headersList.get("referrer-policy") ?? "").split(",");\n let policy = "";\n if (policyHeader.length > 0) {\n for (let i = policyHeader.length; i !== 0; i--) {\n const token = policyHeader[i - 1].trim();\n if (referrerPolicyTokens.includes(token)) {\n policy = token;\n break;\n }\n }\n }\n if (policy !== "") {\n request.referrerPolicy = policy;\n }\n }\n __name(setRequestReferrerPolicyOnRedirect, "setRequestReferrerPolicyOnRedirect");\n function crossOriginResourcePolicyCheck() {\n return "allowed";\n }\n __name(crossOriginResourcePolicyCheck, "crossOriginResourcePolicyCheck");\n function corsCheck() {\n return "success";\n }\n __name(corsCheck, "corsCheck");\n function TAOCheck() {\n return "success";\n }\n __name(TAOCheck, "TAOCheck");\n function appendFetchMetadata(httpRequest) {\n let header = null;\n header = httpRequest.mode;\n httpRequest.headersList.set("sec-fetch-mode", header);\n }\n __name(appendFetchMetadata, "appendFetchMetadata");\n function appendRequestOriginHeader(request) {\n let serializedOrigin = request.origin;\n if (request.responseTainting === "cors" || request.mode === "websocket") {\n if (serializedOrigin) {\n request.headersList.append("origin", serializedOrigin);\n }\n } else if (request.method !== "GET" && request.method !== "HEAD") {\n switch (request.referrerPolicy) {\n case "no-referrer":\n serializedOrigin = null;\n break;\n case "no-referrer-when-downgrade":\n case "strict-origin":\n case "strict-origin-when-cross-origin":\n if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {\n serializedOrigin = null;\n }\n break;\n case "same-origin":\n if (!sameOrigin(request, requestCurrentURL(request))) {\n serializedOrigin = null;\n }\n break;\n default:\n }\n if (serializedOrigin) {\n request.headersList.append("origin", serializedOrigin);\n }\n }\n }\n __name(appendRequestOriginHeader, "appendRequestOriginHeader");\n function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {\n return performance2.now();\n }\n __name(coarsenedSharedCurrentTime, "coarsenedSharedCurrentTime");\n function createOpaqueTimingInfo(timingInfo) {\n return {\n startTime: timingInfo.startTime ?? 0,\n redirectStartTime: 0,\n redirectEndTime: 0,\n postRedirectStartTime: timingInfo.startTime ?? 0,\n finalServiceWorkerStartTime: 0,\n finalNetworkResponseStartTime: 0,\n finalNetworkRequestStartTime: 0,\n endTime: 0,\n encodedBodySize: 0,\n decodedBodySize: 0,\n finalConnectionTimingInfo: null\n };\n }\n __name(createOpaqueTimingInfo, "createOpaqueTimingInfo");\n function makePolicyContainer() {\n return {\n referrerPolicy: "strict-origin-when-cross-origin"\n };\n }\n __name(makePolicyContainer, "makePolicyContainer");\n function clonePolicyContainer(policyContainer) {\n return {\n referrerPolicy: policyContainer.referrerPolicy\n };\n }\n __name(clonePolicyContainer, "clonePolicyContainer");\n function determineRequestsReferrer(request) {\n const policy = request.referrerPolicy;\n assert(policy);\n let referrerSource = null;\n if (request.referrer === "client") {\n const globalOrigin = getGlobalOrigin();\n if (!globalOrigin || globalOrigin.origin === "null") {\n return "no-referrer";\n }\n referrerSource = new URL(globalOrigin);\n } else if (request.referrer instanceof URL) {\n referrerSource = request.referrer;\n }\n let referrerURL = stripURLForReferrer(referrerSource);\n const referrerOrigin = stripURLForReferrer(referrerSource, true);\n if (referrerURL.toString().length > 4096) {\n referrerURL = referrerOrigin;\n }\n const areSameOrigin = sameOrigin(request, referrerURL);\n const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url);\n switch (policy) {\n case "origin":\n return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);\n case "unsafe-url":\n return referrerURL;\n case "same-origin":\n return areSameOrigin ? referrerOrigin : "no-referrer";\n case "origin-when-cross-origin":\n return areSameOrigin ? referrerURL : referrerOrigin;\n case "strict-origin-when-cross-origin": {\n const currentURL = requestCurrentURL(request);\n if (sameOrigin(referrerURL, currentURL)) {\n return referrerURL;\n }\n if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {\n return "no-referrer";\n }\n return referrerOrigin;\n }\n case "strict-origin":\n case "no-referrer-when-downgrade":\n default:\n return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;\n }\n }\n __name(determineRequestsReferrer, "determineRequestsReferrer");\n function stripURLForReferrer(url, originOnly) {\n assert(url instanceof URL);\n if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {\n return "no-referrer";\n }\n url.username = "";\n url.password = "";\n url.hash = "";\n if (originOnly) {\n url.pathname = "";\n url.search = "";\n }\n return url;\n }\n __name(stripURLForReferrer, "stripURLForReferrer");\n function isURLPotentiallyTrustworthy(url) {\n if (!(url instanceof URL)) {\n return false;\n }\n if (url.href === "about:blank" || url.href === "about:srcdoc") {\n return true;\n }\n if (url.protocol === "data:")\n return true;\n if (url.protocol === "file:")\n return true;\n return isOriginPotentiallyTrustworthy(url.origin);\n function isOriginPotentiallyTrustworthy(origin) {\n if (origin == null || origin === "null")\n return false;\n const originAsURL = new URL(origin);\n if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {\n return true;\n }\n if (/^127(?:\\.[0-9]+){0,2}\\.[0-9]+$|^\\[(?:0*:)*?:?0*1\\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {\n return true;\n }\n return false;\n }\n __name(isOriginPotentiallyTrustworthy, "isOriginPotentiallyTrustworthy");\n }\n __name(isURLPotentiallyTrustworthy, "isURLPotentiallyTrustworthy");\n function bytesMatch(bytes, metadataList) {\n if (crypto === void 0) {\n return true;\n }\n const parsedMetadata = parseMetadata(metadataList);\n if (parsedMetadata === "no metadata") {\n return true;\n }\n if (parsedMetadata.length === 0) {\n return true;\n }\n const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo));\n const strongest = list[0].algo;\n const metadata = list.filter((item) => item.algo === strongest);\n for (const item of metadata) {\n const algorithm = item.algo;\n const expectedValue = item.hash;\n const actualValue = crypto.createHash(algorithm).update(bytes).digest("base64");\n if (actualValue === expectedValue) {\n return true;\n }\n }\n return false;\n }\n __name(bytesMatch, "bytesMatch");\n var parseHashWithOptions = /((?sha256|sha384|sha512)-(?[A-z0-9+/]{1}.*={0,2}))( +[\\x21-\\x7e]?)?/i;\n function parseMetadata(metadata) {\n const result = [];\n let empty = true;\n const supportedHashes = crypto.getHashes();\n for (const token of metadata.split(" ")) {\n empty = false;\n const parsedToken = parseHashWithOptions.exec(token);\n if (parsedToken === null || parsedToken.groups === void 0) {\n continue;\n }\n const algorithm = parsedToken.groups.algo;\n if (supportedHashes.includes(algorithm.toLowerCase())) {\n result.push(parsedToken.groups);\n }\n }\n if (empty === true) {\n return "no metadata";\n }\n return result;\n }\n __name(parseMetadata, "parseMetadata");\n function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {\n }\n __name(tryUpgradeRequestToAPotentiallyTrustworthyURL, "tryUpgradeRequestToAPotentiallyTrustworthyURL");\n function sameOrigin(A, B) {\n if (A.origin === B.origin && A.origin === "null") {\n return true;\n }\n if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {\n return true;\n }\n return false;\n }\n __name(sameOrigin, "sameOrigin");\n function createDeferredPromise() {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n return { promise, resolve: res, reject: rej };\n }\n __name(createDeferredPromise, "createDeferredPromise");\n function isAborted(fetchParams) {\n return fetchParams.controller.state === "aborted";\n }\n __name(isAborted, "isAborted");\n function isCancelled(fetchParams) {\n return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";\n }\n __name(isCancelled, "isCancelled");\n function normalizeMethod(method) {\n return /^(DELETE|GET|HEAD|OPTIONS|POST|PUT)$/i.test(method) ? method.toUpperCase() : method;\n }\n __name(normalizeMethod, "normalizeMethod");\n function serializeJavascriptValueToJSONString(value) {\n const result = JSON.stringify(value);\n if (result === void 0) {\n throw new TypeError("Value is not JSON serializable");\n }\n assert(typeof result === "string");\n return result;\n }\n __name(serializeJavascriptValueToJSONString, "serializeJavascriptValueToJSONString");\n var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));\n function makeIterator(iterator, name, kind) {\n const object = {\n index: 0,\n kind,\n target: iterator\n };\n const i = {\n next() {\n if (Object.getPrototypeOf(this) !== i) {\n throw new TypeError(\n `\'next\' called on an object that does not implement interface ${name} Iterator.`\n );\n }\n const { index, kind: kind2, target } = object;\n const values = target();\n const len = values.length;\n if (index >= len) {\n return { value: void 0, done: true };\n }\n const pair = values[index];\n object.index = index + 1;\n return iteratorResult(pair, kind2);\n },\n // The class string of an iterator prototype object for a given interface is the\n // result of concatenating the identifier of the interface and the string " Iterator".\n [Symbol.toStringTag]: `${name} Iterator`\n };\n Object.setPrototypeOf(i, esIteratorPrototype);\n return Object.setPrototypeOf({}, i);\n }\n __name(makeIterator, "makeIterator");\n function iteratorResult(pair, kind) {\n let result;\n switch (kind) {\n case "key": {\n result = pair[0];\n break;\n }\n case "value": {\n result = pair[1];\n break;\n }\n case "key+value": {\n result = pair;\n break;\n }\n }\n return { value: result, done: false };\n }\n __name(iteratorResult, "iteratorResult");\n function fullyReadBody(body, processBody, processBodyError) {\n const successSteps = /* @__PURE__ */ __name((bytes) => queueMicrotask(() => processBody(bytes)), "successSteps");\n const errorSteps = /* @__PURE__ */ __name((error) => queueMicrotask(() => processBodyError(error)), "errorSteps");\n let reader;\n try {\n reader = body.stream.getReader();\n } catch (e) {\n errorSteps(e);\n return;\n }\n readAllBytes(reader, successSteps, errorSteps);\n }\n __name(fullyReadBody, "fullyReadBody");\n var ReadableStream = globalThis.ReadableStream;\n function isReadableStreamLike(stream) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";\n }\n __name(isReadableStreamLike, "isReadableStreamLike");\n var MAXIMUM_ARGUMENT_LENGTH = 65535;\n function isomorphicDecode(input) {\n if (input.length < MAXIMUM_ARGUMENT_LENGTH) {\n return String.fromCharCode(...input);\n }\n return input.reduce((previous, current) => previous + String.fromCharCode(current), "");\n }\n __name(isomorphicDecode, "isomorphicDecode");\n function readableStreamClose(controller) {\n try {\n controller.close();\n } catch (err) {\n if (!err.message.includes("Controller is already closed")) {\n throw err;\n }\n }\n }\n __name(readableStreamClose, "readableStreamClose");\n function isomorphicEncode(input) {\n for (let i = 0; i < input.length; i++) {\n assert(input.charCodeAt(i) <= 255);\n }\n return input;\n }\n __name(isomorphicEncode, "isomorphicEncode");\n async function readAllBytes(reader, successSteps, failureSteps) {\n const bytes = [];\n let byteLength = 0;\n while (true) {\n let done;\n let chunk;\n try {\n ({ done, value: chunk } = await reader.read());\n } catch (e) {\n failureSteps(e);\n return;\n }\n if (done) {\n successSteps(Buffer.concat(bytes, byteLength));\n return;\n }\n if (!isUint8Array(chunk)) {\n failureSteps(new TypeError("Received non-Uint8Array chunk"));\n return;\n }\n bytes.push(chunk);\n byteLength += chunk.length;\n }\n }\n __name(readAllBytes, "readAllBytes");\n function urlIsLocal(url) {\n assert("protocol" in url);\n const protocol = url.protocol;\n return protocol === "about:" || protocol === "blob:" || protocol === "data:";\n }\n __name(urlIsLocal, "urlIsLocal");\n function urlHasHttpsScheme(url) {\n if (typeof url === "string") {\n return url.startsWith("https:");\n }\n return url.protocol === "https:";\n }\n __name(urlHasHttpsScheme, "urlHasHttpsScheme");\n function urlIsHttpHttpsScheme(url) {\n assert("protocol" in url);\n const protocol = url.protocol;\n return protocol === "http:" || protocol === "https:";\n }\n __name(urlIsHttpHttpsScheme, "urlIsHttpHttpsScheme");\n var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key));\n module2.exports = {\n isAborted,\n isCancelled,\n createDeferredPromise,\n ReadableStreamFrom,\n toUSVString,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n coarsenedSharedCurrentTime,\n determineRequestsReferrer,\n makePolicyContainer,\n clonePolicyContainer,\n appendFetchMetadata,\n appendRequestOriginHeader,\n TAOCheck,\n corsCheck,\n crossOriginResourcePolicyCheck,\n createOpaqueTimingInfo,\n setRequestReferrerPolicyOnRedirect,\n isValidHTTPToken,\n requestBadPort,\n requestCurrentURL,\n responseURL,\n responseLocationURL,\n isBlobLike,\n isURLPotentiallyTrustworthy,\n isValidReasonPhrase,\n sameOrigin,\n normalizeMethod,\n serializeJavascriptValueToJSONString,\n makeIterator,\n isValidHeaderName: isValidHeaderName2,\n isValidHeaderValue: isValidHeaderValue2,\n hasOwn,\n isErrorLike,\n fullyReadBody,\n bytesMatch,\n isReadableStreamLike,\n readableStreamClose,\n isomorphicEncode,\n isomorphicDecode,\n urlIsLocal,\n urlHasHttpsScheme,\n urlIsHttpHttpsScheme,\n readAllBytes\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/webidl.js\nvar require_webidl = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/webidl.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { types } = require("util");\n var { hasOwn, toUSVString } = require_util2();\n var webidl = {};\n webidl.converters = {};\n webidl.util = {};\n webidl.errors = {};\n webidl.errors.exception = function(message) {\n return new TypeError(`${message.header}: ${message.message}`);\n };\n webidl.errors.conversionFailed = function(context) {\n const plural = context.types.length === 1 ? "" : " one of";\n const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`;\n return webidl.errors.exception({\n header: context.prefix,\n message\n });\n };\n webidl.errors.invalidArgument = function(context) {\n return webidl.errors.exception({\n header: context.prefix,\n message: `"${context.value}" is an invalid ${context.type}.`\n });\n };\n webidl.brandCheck = function(V, I, opts = void 0) {\n if ((opts == null ? void 0 : opts.strict) !== false && !(V instanceof I)) {\n throw new TypeError("Illegal invocation");\n } else {\n return (V == null ? void 0 : V[Symbol.toStringTag]) === I.prototype[Symbol.toStringTag];\n }\n };\n webidl.argumentLengthCheck = function({ length }, min, ctx) {\n if (length < min) {\n throw webidl.errors.exception({\n message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,\n ...ctx\n });\n }\n };\n webidl.illegalConstructor = function() {\n throw webidl.errors.exception({\n header: "TypeError",\n message: "Illegal constructor"\n });\n };\n webidl.util.Type = function(V) {\n switch (typeof V) {\n case "undefined":\n return "Undefined";\n case "boolean":\n return "Boolean";\n case "string":\n return "String";\n case "symbol":\n return "Symbol";\n case "number":\n return "Number";\n case "bigint":\n return "BigInt";\n case "function":\n case "object": {\n if (V === null) {\n return "Null";\n }\n return "Object";\n }\n }\n };\n webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {\n let upperBound;\n let lowerBound;\n if (bitLength === 64) {\n upperBound = Math.pow(2, 53) - 1;\n if (signedness === "unsigned") {\n lowerBound = 0;\n } else {\n lowerBound = Math.pow(-2, 53) + 1;\n }\n } else if (signedness === "unsigned") {\n lowerBound = 0;\n upperBound = Math.pow(2, bitLength) - 1;\n } else {\n lowerBound = Math.pow(-2, bitLength) - 1;\n upperBound = Math.pow(2, bitLength - 1) - 1;\n }\n let x = Number(V);\n if (x === 0) {\n x = 0;\n }\n if (opts.enforceRange === true) {\n if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {\n throw webidl.errors.exception({\n header: "Integer conversion",\n message: `Could not convert ${V} to an integer.`\n });\n }\n x = webidl.util.IntegerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw webidl.errors.exception({\n header: "Integer conversion",\n message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`\n });\n }\n return x;\n }\n if (!Number.isNaN(x) && opts.clamp === true) {\n x = Math.min(Math.max(x, lowerBound), upperBound);\n if (Math.floor(x) % 2 === 0) {\n x = Math.floor(x);\n } else {\n x = Math.ceil(x);\n }\n return x;\n }\n if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {\n return 0;\n }\n x = webidl.util.IntegerPart(x);\n x = x % Math.pow(2, bitLength);\n if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {\n return x - Math.pow(2, bitLength);\n }\n return x;\n };\n webidl.util.IntegerPart = function(n) {\n const r = Math.floor(Math.abs(n));\n if (n < 0) {\n return -1 * r;\n }\n return r;\n };\n webidl.sequenceConverter = function(converter) {\n return (V) => {\n var _a;\n if (webidl.util.Type(V) !== "Object") {\n throw webidl.errors.exception({\n header: "Sequence",\n message: `Value of type ${webidl.util.Type(V)} is not an Object.`\n });\n }\n const method = (_a = V == null ? void 0 : V[Symbol.iterator]) == null ? void 0 : _a.call(V);\n const seq = [];\n if (method === void 0 || typeof method.next !== "function") {\n throw webidl.errors.exception({\n header: "Sequence",\n message: "Object is not an iterator."\n });\n }\n while (true) {\n const { done, value } = method.next();\n if (done) {\n break;\n }\n seq.push(converter(value));\n }\n return seq;\n };\n };\n webidl.recordConverter = function(keyConverter, valueConverter) {\n return (O) => {\n if (webidl.util.Type(O) !== "Object") {\n throw webidl.errors.exception({\n header: "Record",\n message: `Value of type ${webidl.util.Type(O)} is not an Object.`\n });\n }\n const result = {};\n if (!types.isProxy(O)) {\n const keys2 = Object.keys(O);\n for (const key of keys2) {\n const typedKey = keyConverter(key);\n const typedValue = valueConverter(O[key]);\n result[typedKey] = typedValue;\n }\n return result;\n }\n const keys = Reflect.ownKeys(O);\n for (const key of keys) {\n const desc = Reflect.getOwnPropertyDescriptor(O, key);\n if (desc == null ? void 0 : desc.enumerable) {\n const typedKey = keyConverter(key);\n const typedValue = valueConverter(O[key]);\n result[typedKey] = typedValue;\n }\n }\n return result;\n };\n };\n webidl.interfaceConverter = function(i) {\n return (V, opts = {}) => {\n if (opts.strict !== false && !(V instanceof i)) {\n throw webidl.errors.exception({\n header: i.name,\n message: `Expected ${V} to be an instance of ${i.name}.`\n });\n }\n return V;\n };\n };\n webidl.dictionaryConverter = function(converters) {\n return (dictionary) => {\n const type = webidl.util.Type(dictionary);\n const dict = {};\n if (type === "Null" || type === "Undefined") {\n return dict;\n } else if (type !== "Object") {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`\n });\n }\n for (const options of converters) {\n const { key, defaultValue, required, converter } = options;\n if (required === true) {\n if (!hasOwn(dictionary, key)) {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `Missing required key "${key}".`\n });\n }\n }\n let value = dictionary[key];\n const hasDefault = hasOwn(options, "defaultValue");\n if (hasDefault && value !== null) {\n value = value ?? defaultValue;\n }\n if (required || hasDefault || value !== void 0) {\n value = converter(value);\n if (options.allowedValues && !options.allowedValues.includes(value)) {\n throw webidl.errors.exception({\n header: "Dictionary",\n message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`\n });\n }\n dict[key] = value;\n }\n }\n return dict;\n };\n };\n webidl.nullableConverter = function(converter) {\n return (V) => {\n if (V === null) {\n return V;\n }\n return converter(V);\n };\n };\n webidl.converters.DOMString = function(V, opts = {}) {\n if (V === null && opts.legacyNullToEmptyString) {\n return "";\n }\n if (typeof V === "symbol") {\n throw new TypeError("Could not convert argument of type symbol to string.");\n }\n return String(V);\n };\n webidl.converters.ByteString = function(V) {\n const x = webidl.converters.DOMString(V);\n for (let index = 0; index < x.length; index++) {\n const charCode = x.charCodeAt(index);\n if (charCode > 255) {\n throw new TypeError(\n `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${charCode} which is greater than 255.`\n );\n }\n }\n return x;\n };\n webidl.converters.USVString = toUSVString;\n webidl.converters.boolean = function(V) {\n const x = Boolean(V);\n return x;\n };\n webidl.converters.any = function(V) {\n return V;\n };\n webidl.converters["long long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 64, "signed");\n return x;\n };\n webidl.converters["unsigned long long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 64, "unsigned");\n return x;\n };\n webidl.converters["unsigned long"] = function(V) {\n const x = webidl.util.ConvertToInt(V, 32, "unsigned");\n return x;\n };\n webidl.converters["unsigned short"] = function(V, opts) {\n const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);\n return x;\n };\n webidl.converters.ArrayBuffer = function(V, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {\n throw webidl.errors.conversionFailed({\n prefix: `${V}`,\n argument: `${V}`,\n types: ["ArrayBuffer"]\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.TypedArray = function(V, T, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {\n throw webidl.errors.conversionFailed({\n prefix: `${T.name}`,\n argument: `${V}`,\n types: [T.name]\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.DataView = function(V, opts = {}) {\n if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {\n throw webidl.errors.exception({\n header: "DataView",\n message: "Object is not a DataView."\n });\n }\n if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {\n throw webidl.errors.exception({\n header: "ArrayBuffer",\n message: "SharedArrayBuffer is not allowed."\n });\n }\n return V;\n };\n webidl.converters.BufferSource = function(V, opts = {}) {\n if (types.isAnyArrayBuffer(V)) {\n return webidl.converters.ArrayBuffer(V, opts);\n }\n if (types.isTypedArray(V)) {\n return webidl.converters.TypedArray(V, V.constructor);\n }\n if (types.isDataView(V)) {\n return webidl.converters.DataView(V, opts);\n }\n throw new TypeError(`Could not convert ${V} to a BufferSource.`);\n };\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.ByteString\n );\n webidl.converters["sequence>"] = webidl.sequenceConverter(\n webidl.converters["sequence"]\n );\n webidl.converters["record"] = webidl.recordConverter(\n webidl.converters.ByteString,\n webidl.converters.ByteString\n );\n module2.exports = {\n webidl\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/headers.js\nvar require_headers = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/headers.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kHeadersList } = require_symbols2();\n var { kGuard: kGuard2 } = require_symbols();\n var { kEnumerableProperty } = require_util();\n var {\n makeIterator,\n isValidHeaderName: isValidHeaderName2,\n isValidHeaderValue: isValidHeaderValue2\n } = require_util2();\n var { webidl } = require_webidl();\n var assert = require("assert");\n var kHeadersMap = Symbol("headers map");\n var kHeadersSortedMap = Symbol("headers map sorted");\n function headerValueNormalize(potentialValue) {\n let i = potentialValue.length;\n while (/[\\r\\n\\t ]/.test(potentialValue.charAt(--i)))\n ;\n return potentialValue.slice(0, i + 1).replace(/^[\\r\\n\\t ]+/, "");\n }\n __name(headerValueNormalize, "headerValueNormalize");\n function fill(headers, object) {\n if (Array.isArray(object)) {\n for (const header of object) {\n if (header.length !== 2) {\n throw webidl.errors.exception({\n header: "Headers constructor",\n message: `expected name/value pair to be length 2, found ${header.length}.`\n });\n }\n headers.append(header[0], header[1]);\n }\n } else if (typeof object === "object" && object !== null) {\n for (const [key, value] of Object.entries(object)) {\n headers.append(key, value);\n }\n } else {\n throw webidl.errors.conversionFailed({\n prefix: "Headers constructor",\n argument: "Argument 1",\n types: ["sequence>", "record"]\n });\n }\n }\n __name(fill, "fill");\n var HeadersList = class {\n /** @type {[string, string][]|null} */\n cookies = null;\n constructor(init) {\n if (init instanceof HeadersList) {\n this[kHeadersMap] = new Map(init[kHeadersMap]);\n this[kHeadersSortedMap] = init[kHeadersSortedMap];\n this.cookies = init.cookies;\n } else {\n this[kHeadersMap] = new Map(init);\n this[kHeadersSortedMap] = null;\n }\n }\n // https://fetch.spec.whatwg.org/#header-list-contains\n contains(name) {\n name = name.toLowerCase();\n return this[kHeadersMap].has(name);\n }\n clear() {\n this[kHeadersMap].clear();\n this[kHeadersSortedMap] = null;\n this.cookies = null;\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-append\n append(name, value) {\n this[kHeadersSortedMap] = null;\n const lowercaseName = name.toLowerCase();\n const exists = this[kHeadersMap].get(lowercaseName);\n if (exists) {\n const delimiter = lowercaseName === "cookie" ? "; " : ", ";\n this[kHeadersMap].set(lowercaseName, {\n name: exists.name,\n value: `${exists.value}${delimiter}${value}`\n });\n } else {\n this[kHeadersMap].set(lowercaseName, { name, value });\n }\n if (lowercaseName === "set-cookie") {\n this.cookies ?? (this.cookies = []);\n this.cookies.push(value);\n }\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-set\n set(name, value) {\n this[kHeadersSortedMap] = null;\n const lowercaseName = name.toLowerCase();\n if (lowercaseName === "set-cookie") {\n this.cookies = [value];\n }\n return this[kHeadersMap].set(lowercaseName, { name, value });\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-delete\n delete(name) {\n this[kHeadersSortedMap] = null;\n name = name.toLowerCase();\n if (name === "set-cookie") {\n this.cookies = null;\n }\n return this[kHeadersMap].delete(name);\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-get\n get(name) {\n var _a;\n if (!this.contains(name)) {\n return null;\n }\n return ((_a = this[kHeadersMap].get(name.toLowerCase())) == null ? void 0 : _a.value) ?? null;\n }\n *[Symbol.iterator]() {\n for (const [name, { value }] of this[kHeadersMap]) {\n yield [name, value];\n }\n }\n get entries() {\n const headers = {};\n if (this[kHeadersMap].size) {\n for (const { name, value } of this[kHeadersMap].values()) {\n headers[name] = value;\n }\n }\n return headers;\n }\n };\n __name(HeadersList, "HeadersList");\n var Headers3 = class {\n constructor(init = void 0) {\n this[kHeadersList] = new HeadersList();\n this[kGuard2] = "none";\n if (init !== void 0) {\n init = webidl.converters.HeadersInit(init);\n fill(this, init);\n }\n }\n // https://fetch.spec.whatwg.org/#dom-headers-append\n append(name, value) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" });\n name = webidl.converters.ByteString(name);\n value = webidl.converters.ByteString(value);\n value = headerValueNormalize(value);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.append",\n value: name,\n type: "header name"\n });\n } else if (!isValidHeaderValue2(value)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.append",\n value,\n type: "header value"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n return this[kHeadersList].append(name, value);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-delete\n delete(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.delete",\n value: name,\n type: "header name"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n if (!this[kHeadersList].contains(name)) {\n return;\n }\n return this[kHeadersList].delete(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-get\n get(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.get",\n value: name,\n type: "header name"\n });\n }\n return this[kHeadersList].get(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-has\n has(name) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" });\n name = webidl.converters.ByteString(name);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.has",\n value: name,\n type: "header name"\n });\n }\n return this[kHeadersList].contains(name);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-set\n set(name, value) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" });\n name = webidl.converters.ByteString(name);\n value = webidl.converters.ByteString(value);\n value = headerValueNormalize(value);\n if (!isValidHeaderName2(name)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.set",\n value: name,\n type: "header name"\n });\n } else if (!isValidHeaderValue2(value)) {\n throw webidl.errors.invalidArgument({\n prefix: "Headers.set",\n value,\n type: "header value"\n });\n }\n if (this[kGuard2] === "immutable") {\n throw new TypeError("immutable");\n } else if (this[kGuard2] === "request-no-cors") {\n }\n return this[kHeadersList].set(name, value);\n }\n // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie\n getSetCookie() {\n webidl.brandCheck(this, Headers3);\n const list = this[kHeadersList].cookies;\n if (list) {\n return [...list];\n }\n return [];\n }\n // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine\n get [kHeadersSortedMap]() {\n if (this[kHeadersList][kHeadersSortedMap]) {\n return this[kHeadersList][kHeadersSortedMap];\n }\n const headers = [];\n const names = [...this[kHeadersList]].sort((a, b) => a[0] < b[0] ? -1 : 1);\n const cookies = this[kHeadersList].cookies;\n for (const [name, value] of names) {\n if (name === "set-cookie") {\n for (const value2 of cookies) {\n headers.push([name, value2]);\n }\n } else {\n assert(value !== null);\n headers.push([name, value]);\n }\n }\n this[kHeadersList][kHeadersSortedMap] = headers;\n return headers;\n }\n keys() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "value"\n );\n }\n entries() {\n webidl.brandCheck(this, Headers3);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "key+value"\n );\n }\n /**\n * @param {(value: string, key: string, self: Headers) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach(callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, Headers3);\n webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" });\n if (typeof callbackFn !== "function") {\n throw new TypeError(\n "Failed to execute \'forEach\' on \'Headers\': parameter 1 is not of type \'Function\'."\n );\n }\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this]);\n }\n }\n [Symbol.for("nodejs.util.inspect.custom")]() {\n webidl.brandCheck(this, Headers3);\n return this[kHeadersList];\n }\n };\n __name(Headers3, "Headers");\n Headers3.prototype[Symbol.iterator] = Headers3.prototype.entries;\n Object.defineProperties(Headers3.prototype, {\n append: kEnumerableProperty,\n delete: kEnumerableProperty,\n get: kEnumerableProperty,\n has: kEnumerableProperty,\n set: kEnumerableProperty,\n getSetCookie: kEnumerableProperty,\n keys: kEnumerableProperty,\n values: kEnumerableProperty,\n entries: kEnumerableProperty,\n forEach: kEnumerableProperty,\n [Symbol.iterator]: { enumerable: false },\n [Symbol.toStringTag]: {\n value: "Headers",\n configurable: true\n }\n });\n webidl.converters.HeadersInit = function(V) {\n if (webidl.util.Type(V) === "Object") {\n if (V[Symbol.iterator]) {\n return webidl.converters["sequence>"](V);\n }\n return webidl.converters["record"](V);\n }\n throw webidl.errors.conversionFailed({\n prefix: "Headers constructor",\n argument: "Argument 1",\n types: ["sequence>", "record"]\n });\n };\n module2.exports = {\n fill,\n Headers: Headers3,\n HeadersList\n };\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js\nvar require_utils = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/utils.js"(exports, module2) {\n "use strict";\n init_define_process();\n function parseContentType(str) {\n if (str.length === 0)\n return;\n const params = /* @__PURE__ */ Object.create(null);\n let i = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 47 || i === 0)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n const type = str.slice(0, i).toLowerCase();\n const subtypeStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === subtypeStart)\n return;\n if (parseContentTypeParams(str, i, params) === void 0)\n return;\n break;\n }\n }\n if (i === subtypeStart)\n return;\n const subtype = str.slice(subtypeStart, i).toLowerCase();\n return { type, subtype, params };\n }\n __name(parseContentType, "parseContentType");\n function parseContentTypeParams(str, i, params) {\n while (i < str.length) {\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n break;\n if (str.charCodeAt(i++) !== 59)\n return;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n return;\n let name;\n const nameStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code !== 61)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n name = str.slice(nameStart, i);\n ++i;\n if (i === str.length)\n return;\n let value = "";\n let valueStart;\n if (str.charCodeAt(i) === 34) {\n valueStart = ++i;\n let escaping = false;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n if (QDTEXT[code] !== 1)\n return;\n }\n if (i === str.length)\n return;\n ++i;\n } else {\n valueStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n name = name.toLowerCase();\n if (params[name] === void 0)\n params[name] = value;\n }\n return params;\n }\n __name(parseContentTypeParams, "parseContentTypeParams");\n function parseDisposition(str, defDecoder) {\n if (str.length === 0)\n return;\n const params = /* @__PURE__ */ Object.create(null);\n let i = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (parseDispositionParams(str, i, params, defDecoder) === void 0)\n return;\n break;\n }\n }\n const type = str.slice(0, i).toLowerCase();\n return { type, params };\n }\n __name(parseDisposition, "parseDisposition");\n function parseDispositionParams(str, i, params, defDecoder) {\n while (i < str.length) {\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n break;\n if (str.charCodeAt(i++) !== 59)\n return;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code !== 32 && code !== 9)\n break;\n }\n if (i === str.length)\n return;\n let name;\n const nameStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (code === 61)\n break;\n return;\n }\n }\n if (i === str.length)\n return;\n let value = "";\n let valueStart;\n let charset;\n name = str.slice(nameStart, i);\n if (name.charCodeAt(name.length - 1) === 42) {\n const charsetStart = ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (CHARSET[code] !== 1) {\n if (code !== 39)\n return;\n break;\n }\n }\n if (i === str.length)\n return;\n charset = str.slice(charsetStart, i);\n ++i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 39)\n break;\n }\n if (i === str.length)\n return;\n ++i;\n if (i === str.length)\n return;\n valueStart = i;\n let encode = 0;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (EXTENDED_VALUE[code] !== 1) {\n if (code === 37) {\n let hexUpper;\n let hexLower;\n if (i + 2 < str.length && (hexUpper = HEX_VALUES[str.charCodeAt(i + 1)]) !== -1 && (hexLower = HEX_VALUES[str.charCodeAt(i + 2)]) !== -1) {\n const byteVal = (hexUpper << 4) + hexLower;\n value += str.slice(valueStart, i);\n value += String.fromCharCode(byteVal);\n i += 2;\n valueStart = i + 1;\n if (byteVal >= 128)\n encode = 2;\n else if (encode === 0)\n encode = 1;\n continue;\n }\n return;\n }\n break;\n }\n }\n value += str.slice(valueStart, i);\n value = convertToUTF8(value, charset, encode);\n if (value === void 0)\n return;\n } else {\n ++i;\n if (i === str.length)\n return;\n if (str.charCodeAt(i) === 34) {\n valueStart = ++i;\n let escaping = false;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (code === 92) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n } else {\n value += str.slice(valueStart, i);\n escaping = true;\n }\n continue;\n }\n if (code === 34) {\n if (escaping) {\n valueStart = i;\n escaping = false;\n continue;\n }\n value += str.slice(valueStart, i);\n break;\n }\n if (escaping) {\n valueStart = i - 1;\n escaping = false;\n }\n if (QDTEXT[code] !== 1)\n return;\n }\n if (i === str.length)\n return;\n ++i;\n } else {\n valueStart = i;\n for (; i < str.length; ++i) {\n const code = str.charCodeAt(i);\n if (TOKEN[code] !== 1) {\n if (i === valueStart)\n return;\n break;\n }\n }\n value = str.slice(valueStart, i);\n }\n value = defDecoder(value, 2);\n if (value === void 0)\n return;\n }\n name = name.toLowerCase();\n if (params[name] === void 0)\n params[name] = value;\n }\n return params;\n }\n __name(parseDispositionParams, "parseDispositionParams");\n function getDecoder(charset) {\n let lc;\n while (true) {\n switch (charset) {\n case "utf-8":\n case "utf8":\n return decoders.utf8;\n case "latin1":\n case "ascii":\n case "us-ascii":\n case "iso-8859-1":\n case "iso8859-1":\n case "iso88591":\n case "iso_8859-1":\n case "windows-1252":\n case "iso_8859-1:1987":\n case "cp1252":\n case "x-cp1252":\n return decoders.latin1;\n case "utf16le":\n case "utf-16le":\n case "ucs2":\n case "ucs-2":\n return decoders.utf16le;\n case "base64":\n return decoders.base64;\n default:\n if (lc === void 0) {\n lc = true;\n charset = charset.toLowerCase();\n continue;\n }\n return decoders.other.bind(charset);\n }\n }\n }\n __name(getDecoder, "getDecoder");\n var decoders = {\n utf8: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string") {\n if (hint < 2)\n return data;\n data = Buffer.from(data, "latin1");\n }\n return data.utf8Slice(0, data.length);\n },\n latin1: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n return data;\n return data.latin1Slice(0, data.length);\n },\n utf16le: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n return data.ucs2Slice(0, data.length);\n },\n base64: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n return data.base64Slice(0, data.length);\n },\n other: (data, hint) => {\n if (data.length === 0)\n return "";\n if (typeof data === "string")\n data = Buffer.from(data, "latin1");\n try {\n const decoder = new TextDecoder(exports);\n return decoder.decode(data);\n } catch {\n }\n }\n };\n function convertToUTF8(data, charset, hint) {\n const decode = getDecoder(charset);\n if (decode)\n return decode(data, hint);\n }\n __name(convertToUTF8, "convertToUTF8");\n function basename(path) {\n if (typeof path !== "string")\n return "";\n for (let i = path.length - 1; i >= 0; --i) {\n switch (path.charCodeAt(i)) {\n case 47:\n case 92:\n path = path.slice(i + 1);\n return path === ".." || path === "." ? "" : path;\n }\n }\n return path === ".." || path === "." ? "" : path;\n }\n __name(basename, "basename");\n var TOKEN = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var QDTEXT = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1\n ];\n var CHARSET = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var EXTENDED_VALUE = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var HEX_VALUES = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ];\n module2.exports = {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition\n };\n }\n});\n\n// ../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js\nvar require_sbmh = __commonJS({\n "../../node_modules/.pnpm/streamsearch@1.1.0/node_modules/streamsearch/lib/sbmh.js"(exports, module2) {\n "use strict";\n init_define_process();\n function memcmp(buf1, pos1, buf2, pos2, num) {\n for (let i = 0; i < num; ++i) {\n if (buf1[pos1 + i] !== buf2[pos2 + i])\n return false;\n }\n return true;\n }\n __name(memcmp, "memcmp");\n var SBMH = class {\n constructor(needle, cb) {\n if (typeof cb !== "function")\n throw new Error("Missing match callback");\n if (typeof needle === "string")\n needle = Buffer.from(needle);\n else if (!Buffer.isBuffer(needle))\n throw new Error(`Expected Buffer for needle, got ${typeof needle}`);\n const needleLen = needle.length;\n this.maxMatches = Infinity;\n this.matches = 0;\n this._cb = cb;\n this._lookbehindSize = 0;\n this._needle = needle;\n this._bufPos = 0;\n this._lookbehind = Buffer.allocUnsafe(needleLen);\n this._occ = [\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen,\n needleLen\n ];\n if (needleLen > 1) {\n for (let i = 0; i < needleLen - 1; ++i)\n this._occ[needle[i]] = needleLen - 1 - i;\n }\n }\n reset() {\n this.matches = 0;\n this._lookbehindSize = 0;\n this._bufPos = 0;\n }\n push(chunk, pos) {\n let result;\n if (!Buffer.isBuffer(chunk))\n chunk = Buffer.from(chunk, "latin1");\n const chunkLen = chunk.length;\n this._bufPos = pos || 0;\n while (result !== chunkLen && this.matches < this.maxMatches)\n result = feed(this, chunk);\n return result;\n }\n destroy() {\n const lbSize = this._lookbehindSize;\n if (lbSize)\n this._cb(false, this._lookbehind, 0, lbSize, false);\n this.reset();\n }\n };\n __name(SBMH, "SBMH");\n function feed(self, data) {\n const len = data.length;\n const needle = self._needle;\n const needleLen = needle.length;\n let pos = -self._lookbehindSize;\n const lastNeedleCharPos = needleLen - 1;\n const lastNeedleChar = needle[lastNeedleCharPos];\n const end = len - needleLen;\n const occ = self._occ;\n const lookbehind = self._lookbehind;\n if (pos < 0) {\n while (pos < 0 && pos <= end) {\n const nextPos = pos + lastNeedleCharPos;\n const ch = nextPos < 0 ? lookbehind[self._lookbehindSize + nextPos] : data[nextPos];\n if (ch === lastNeedleChar && matchNeedle(self, data, pos, lastNeedleCharPos)) {\n self._lookbehindSize = 0;\n ++self.matches;\n if (pos > -self._lookbehindSize)\n self._cb(true, lookbehind, 0, self._lookbehindSize + pos, false);\n else\n self._cb(true, void 0, 0, 0, true);\n return self._bufPos = pos + needleLen;\n }\n pos += occ[ch];\n }\n while (pos < 0 && !matchNeedle(self, data, pos, len - pos))\n ++pos;\n if (pos < 0) {\n const bytesToCutOff = self._lookbehindSize + pos;\n if (bytesToCutOff > 0) {\n self._cb(false, lookbehind, 0, bytesToCutOff, false);\n }\n self._lookbehindSize -= bytesToCutOff;\n lookbehind.copy(lookbehind, 0, bytesToCutOff, self._lookbehindSize);\n lookbehind.set(data, self._lookbehindSize);\n self._lookbehindSize += len;\n self._bufPos = len;\n return len;\n }\n self._cb(false, lookbehind, 0, self._lookbehindSize, false);\n self._lookbehindSize = 0;\n }\n pos += self._bufPos;\n const firstNeedleChar = needle[0];\n while (pos <= end) {\n const ch = data[pos + lastNeedleCharPos];\n if (ch === lastNeedleChar && data[pos] === firstNeedleChar && memcmp(needle, 0, data, pos, lastNeedleCharPos)) {\n ++self.matches;\n if (pos > 0)\n self._cb(true, data, self._bufPos, pos, true);\n else\n self._cb(true, void 0, 0, 0, true);\n return self._bufPos = pos + needleLen;\n }\n pos += occ[ch];\n }\n while (pos < len) {\n if (data[pos] !== firstNeedleChar || !memcmp(data, pos, needle, 0, len - pos)) {\n ++pos;\n continue;\n }\n data.copy(lookbehind, 0, pos, len);\n self._lookbehindSize = len - pos;\n break;\n }\n if (pos > 0)\n self._cb(false, data, self._bufPos, pos < len ? pos : len, true);\n self._bufPos = len;\n return len;\n }\n __name(feed, "feed");\n function matchNeedle(self, data, pos, len) {\n const lb = self._lookbehind;\n const lbSize = self._lookbehindSize;\n const needle = self._needle;\n for (let i = 0; i < len; ++i, ++pos) {\n const ch = pos < 0 ? lb[lbSize + pos] : data[pos];\n if (ch !== needle[i])\n return false;\n }\n return true;\n }\n __name(matchNeedle, "matchNeedle");\n module2.exports = SBMH;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js\nvar require_multipart = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/multipart.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Readable, Writable } = require("stream");\n var StreamSearch = require_sbmh();\n var {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition\n } = require_utils();\n var BUF_CRLF = Buffer.from("\\r\\n");\n var BUF_CR = Buffer.from("\\r");\n var BUF_DASH = Buffer.from("-");\n function noop() {\n }\n __name(noop, "noop");\n var MAX_HEADER_PAIRS = 2e3;\n var MAX_HEADER_SIZE = 16 * 1024;\n var HPARSER_NAME = 0;\n var HPARSER_PRE_OWS = 1;\n var HPARSER_VALUE = 2;\n var HeaderParser = class {\n constructor(cb) {\n this.header = /* @__PURE__ */ Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n this.crlf = 0;\n this.cb = cb;\n }\n reset() {\n this.header = /* @__PURE__ */ Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n this.crlf = 0;\n }\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n }\n case HPARSER_PRE_OWS: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32 && code !== 9) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0:\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1:\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10)\n return -1;\n ++this.crlf;\n break;\n case 2: {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32 || code === 9) {\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === void 0)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13) {\n ++this.crlf;\n ++pos;\n } else {\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = "";\n this.value = "";\n }\n }\n break;\n }\n case 3: {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10)\n return -1;\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n return pos;\n }\n };\n __name(HeaderParser, "HeaderParser");\n var FileStream = class extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once("end", () => {\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n define_process_default.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n };\n __name(FileStream, "FileStream");\n var ignoreData = {\n push: (chunk, pos) => {\n },\n destroy: () => {\n }\n };\n function callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n }\n __name(callAndUnsetCb, "callAndUnsetCb");\n function nullDecoder(val, hint) {\n return val;\n }\n __name(nullDecoder, "nullDecoder");\n var Multipart = class extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0\n };\n super(streamOpts);\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== "string")\n throw new Error("Multipart: Boundary not found");\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = typeof cfg.defParamCharset === "string" && cfg.defParamCharset ? getDecoder(cfg.defParamCharset) : nullDecoder;\n const defCharset = cfg.defCharset || "utf8";\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.fileHwm === "number" ? cfg.fileHwm : void 0\n };\n const limits = cfg.limits;\n const fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;\n const fileSizeLimit = limits && typeof limits.fileSize === "number" ? limits.fileSize : Infinity;\n const filesLimit = limits && typeof limits.files === "number" ? limits.files : Infinity;\n const fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;\n const partsLimit = limits && typeof limits.parts === "number" ? limits.parts : Infinity;\n let parts = -1;\n let fields = 0;\n let files = 0;\n let skipPart = false;\n this._fileEndsLeft = 0;\n this._fileStream = void 0;\n this._complete = false;\n let fileSize = 0;\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n partType = "text/plain";\n partCharset = defCharset;\n partEncoding = "7bit";\n partName = void 0;\n partTruncated = false;\n let filename;\n if (!header["content-disposition"]) {\n skipPart = true;\n return;\n }\n const disp = parseDisposition(\n header["content-disposition"][0],\n paramDecoder\n );\n if (!disp || disp.type !== "form-data") {\n skipPart = true;\n return;\n }\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n if (disp.params["filename*"])\n filename = disp.params["filename*"];\n else if (disp.params.filename)\n filename = disp.params.filename;\n if (filename !== void 0 && !preservePath)\n filename = basename(filename);\n }\n if (header["content-type"]) {\n const conType = parseContentType(header["content-type"][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === "string")\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n if (header["content-transfer-encoding"])\n partEncoding = header["content-transfer-encoding"][0].toLowerCase();\n if (partType === "application/octet-stream" || filename !== void 0) {\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit("filesLimit");\n }\n skipPart = true;\n return;\n }\n ++files;\n if (this.listenerCount("file") === 0) {\n skipPart = true;\n return;\n }\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n "file",\n partName,\n this._fileStream,\n {\n filename,\n encoding: partEncoding,\n mimeType: partType\n }\n );\n } else {\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit("fieldsLimit");\n }\n skipPart = true;\n return;\n }\n ++fields;\n if (this.listenerCount("field") === 0) {\n skipPart = true;\n return;\n }\n field = [];\n fieldSize = 0;\n }\n });\n let matchPostBoundary = 0;\n const ssCb = /* @__PURE__ */ __name((isMatch, data, start, end, isDataSafe) => {\n retrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit("error", new Error("Malformed part header"));\n break;\n }\n start = ret;\n }\n if (start === end)\n break;\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45:\n matchPostBoundary = 2;\n ++start;\n break;\n case 13:\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45) {\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10) {\n ++start;\n if (parts >= partsLimit)\n break;\n this._hparser = hparser;\n if (start === end)\n break;\n continue retrydata;\n } else {\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit("limit");\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== void 0) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n break;\n }\n if (isMatch) {\n matchPostBoundary = 1;\n if (this._fileStream) {\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== void 0) {\n let data2;\n switch (field.length) {\n case 0:\n data2 = "";\n break;\n case 1:\n data2 = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data2 = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = void 0;\n fieldSize = 0;\n this.emit(\n "field",\n partName,\n data2,\n {\n nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType\n }\n );\n }\n if (++parts === partsLimit)\n this.emit("partsLimit");\n }\n }, "ssCb");\n this._bparser = new StreamSearch(`\\r\n--${boundary}`, ssCb);\n this._writecb = null;\n this._finalcb = null;\n this.write(BUF_CRLF);\n }\n static detect(conType) {\n return conType.type === "multipart" && conType.subtype === "form-data";\n }\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error("Unexpected end of form"));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n };\n __name(Multipart, "Multipart");\n function finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n }\n __name(finalcb, "finalcb");\n function checkEndState(self) {\n if (self._hparser)\n return new Error("Malformed part header");\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error("Unexpected end of file"));\n }\n if (!self._complete)\n return new Error("Unexpected end of form");\n }\n __name(checkEndState, "checkEndState");\n var TOKEN = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var FIELD_VCHAR = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1\n ];\n module2.exports = Multipart;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js\nvar require_urlencoded = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/types/urlencoded.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Writable } = require("stream");\n var { getDecoder } = require_utils();\n var URLEncoded = class extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0\n };\n super(streamOpts);\n let charset = cfg.defCharset || "utf8";\n if (cfg.conType.params && typeof cfg.conType.params.charset === "string")\n charset = cfg.conType.params.charset;\n this.charset = charset;\n const limits = cfg.limits;\n this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;\n this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;\n this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100;\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = "";\n this._val = "";\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n static detect(conType) {\n return conType.type === "application" && conType.subtype === "x-www-form-urlencoded";\n }\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n main:\n while (i < len) {\n if (this._inKey) {\n i = skipKeyBytes(this, chunk, i, len);\n while (i < len) {\n switch (chunk[i]) {\n case 61:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n "field",\n this._key,\n "",\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n this._key = "";\n this._val = "";\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit("fieldsLimit");\n return cb();\n }\n continue;\n case 43:\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += " ";\n this._lastPos = i + 1;\n break;\n case 37:\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n i = skipValBytes(this, chunk, i, len);\n while (i < len) {\n switch (chunk[i]) {\n case 38:\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n "field",\n this._key,\n this._val,\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n this._key = "";\n this._val = "";\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit("fieldsLimit");\n return cb();\n }\n continue main;\n case 43:\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += " ";\n this._lastPos = i + 1;\n break;\n case 37:\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error("Malformed urlencoded form"));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n cb();\n }\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error("Malformed urlencoded form"));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n "field",\n this._key,\n this._val,\n {\n nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: "text/plain"\n }\n );\n }\n cb();\n }\n };\n __name(URLEncoded, "URLEncoded");\n function readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n if (self._byte === -1) {\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n if (hexUpper >= 8)\n self._encode = 2;\n if (pos < len) {\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n self._byte = -2;\n self._lastPos = pos;\n } else {\n self._byte = hexUpper;\n }\n } else {\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n self._byte = -2;\n self._lastPos = pos;\n }\n return pos;\n }\n __name(readPctEnc, "readPctEnc");\n function skipKeyBytes(self, chunk, pos, len) {\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61 || code === 38)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n return pos;\n }\n __name(skipKeyBytes, "skipKeyBytes");\n function skipValBytes(self, chunk, pos, len) {\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n return pos;\n }\n __name(skipValBytes, "skipValBytes");\n var HEX_VALUES = [\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1,\n -1\n ];\n module2.exports = URLEncoded;\n }\n});\n\n// ../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js\nvar require_lib = __commonJS({\n "../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { parseContentType } = require_utils();\n function getInstance(cfg) {\n const headers = cfg.headers;\n const conType = parseContentType(headers["content-type"]);\n if (!conType)\n throw new Error("Malformed content type");\n for (const type of TYPES) {\n const matched = type.detect(conType);\n if (!matched)\n continue;\n const instanceCfg = {\n limits: cfg.limits,\n headers,\n conType,\n highWaterMark: void 0,\n fileHwm: void 0,\n defCharset: void 0,\n defParamCharset: void 0,\n preservePath: false\n };\n if (cfg.highWaterMark)\n instanceCfg.highWaterMark = cfg.highWaterMark;\n if (cfg.fileHwm)\n instanceCfg.fileHwm = cfg.fileHwm;\n instanceCfg.defCharset = cfg.defCharset;\n instanceCfg.defParamCharset = cfg.defParamCharset;\n instanceCfg.preservePath = cfg.preservePath;\n return new type(instanceCfg);\n }\n throw new Error(`Unsupported content type: ${headers["content-type"]}`);\n }\n __name(getInstance, "getInstance");\n var TYPES = [\n require_multipart(),\n require_urlencoded()\n ].filter(function(typemod) {\n return typeof typemod.detect === "function";\n });\n module2.exports = (cfg) => {\n if (typeof cfg !== "object" || cfg === null)\n cfg = {};\n if (typeof cfg.headers !== "object" || cfg.headers === null || typeof cfg.headers["content-type"] !== "string") {\n throw new Error("Missing Content-Type");\n }\n return getInstance(cfg);\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/dataURL.js\nvar require_dataURL = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/dataURL.js"(exports, module2) {\n init_define_process();\n var assert = require("assert");\n var { atob: atob2 } = require("buffer");\n var { isomorphicDecode } = require_util2();\n var encoder = new TextEncoder();\n var HTTP_TOKEN_CODEPOINTS = /^[!#$%&\'*+-.^_|~A-Za-z0-9]+$/;\n var HTTP_WHITESPACE_REGEX = /(\\u000A|\\u000D|\\u0009|\\u0020)/;\n var HTTP_QUOTED_STRING_TOKENS = /[\\u0009|\\u0020-\\u007E|\\u0080-\\u00FF]/;\n function dataURLProcessor(dataURL) {\n assert(dataURL.protocol === "data:");\n let input = URLSerializer(dataURL, true);\n input = input.slice(5);\n const position = { position: 0 };\n let mimeType = collectASequenceOfCodePointsFast(\n ",",\n input,\n position\n );\n const mimeTypeLength = mimeType.length;\n mimeType = removeASCIIWhitespace(mimeType, true, true);\n if (position.position >= input.length) {\n return "failure";\n }\n position.position++;\n const encodedBody = input.slice(mimeTypeLength + 1);\n let body = stringPercentDecode(encodedBody);\n if (/;(\\u0020){0,}base64$/i.test(mimeType)) {\n const stringBody = isomorphicDecode(body);\n body = forgivingBase64(stringBody);\n if (body === "failure") {\n return "failure";\n }\n mimeType = mimeType.slice(0, -6);\n mimeType = mimeType.replace(/(\\u0020)+$/, "");\n mimeType = mimeType.slice(0, -1);\n }\n if (mimeType.startsWith(";")) {\n mimeType = "text/plain" + mimeType;\n }\n let mimeTypeRecord = parseMIMEType(mimeType);\n if (mimeTypeRecord === "failure") {\n mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");\n }\n return { mimeType: mimeTypeRecord, body };\n }\n __name(dataURLProcessor, "dataURLProcessor");\n function URLSerializer(url, excludeFragment = false) {\n const href = url.href;\n if (!excludeFragment) {\n return href;\n }\n const hash = href.lastIndexOf("#");\n if (hash === -1) {\n return href;\n }\n return href.slice(0, hash);\n }\n __name(URLSerializer, "URLSerializer");\n function collectASequenceOfCodePoints(condition, input, position) {\n let result = "";\n while (position.position < input.length && condition(input[position.position])) {\n result += input[position.position];\n position.position++;\n }\n return result;\n }\n __name(collectASequenceOfCodePoints, "collectASequenceOfCodePoints");\n function collectASequenceOfCodePointsFast(char, input, position) {\n const idx = input.indexOf(char, position.position);\n const start = position.position;\n if (idx === -1) {\n position.position = input.length;\n return input.slice(start);\n }\n position.position = idx;\n return input.slice(start, position.position);\n }\n __name(collectASequenceOfCodePointsFast, "collectASequenceOfCodePointsFast");\n function stringPercentDecode(input) {\n const bytes = encoder.encode(input);\n return percentDecode(bytes);\n }\n __name(stringPercentDecode, "stringPercentDecode");\n function percentDecode(input) {\n const output = [];\n for (let i = 0; i < input.length; i++) {\n const byte = input[i];\n if (byte !== 37) {\n output.push(byte);\n } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i + 1], input[i + 2]))) {\n output.push(37);\n } else {\n const nextTwoBytes = String.fromCharCode(input[i + 1], input[i + 2]);\n const bytePoint = Number.parseInt(nextTwoBytes, 16);\n output.push(bytePoint);\n i += 2;\n }\n }\n return Uint8Array.from(output);\n }\n __name(percentDecode, "percentDecode");\n function parseMIMEType(input) {\n input = removeHTTPWhitespace(input, true, true);\n const position = { position: 0 };\n const type = collectASequenceOfCodePointsFast(\n "/",\n input,\n position\n );\n if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {\n return "failure";\n }\n if (position.position > input.length) {\n return "failure";\n }\n position.position++;\n let subtype = collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n subtype = removeHTTPWhitespace(subtype, false, true);\n if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {\n return "failure";\n }\n const typeLowercase = type.toLowerCase();\n const subtypeLowercase = subtype.toLowerCase();\n const mimeType = {\n type: typeLowercase,\n subtype: subtypeLowercase,\n /** @type {Map} */\n parameters: /* @__PURE__ */ new Map(),\n // https://mimesniff.spec.whatwg.org/#mime-type-essence\n essence: `${typeLowercase}/${subtypeLowercase}`\n };\n while (position.position < input.length) {\n position.position++;\n collectASequenceOfCodePoints(\n // https://fetch.spec.whatwg.org/#http-whitespace\n (char) => HTTP_WHITESPACE_REGEX.test(char),\n input,\n position\n );\n let parameterName = collectASequenceOfCodePoints(\n (char) => char !== ";" && char !== "=",\n input,\n position\n );\n parameterName = parameterName.toLowerCase();\n if (position.position < input.length) {\n if (input[position.position] === ";") {\n continue;\n }\n position.position++;\n }\n if (position.position > input.length) {\n break;\n }\n let parameterValue = null;\n if (input[position.position] === \'"\') {\n parameterValue = collectAnHTTPQuotedString(input, position, true);\n collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n } else {\n parameterValue = collectASequenceOfCodePointsFast(\n ";",\n input,\n position\n );\n parameterValue = removeHTTPWhitespace(parameterValue, false, true);\n if (parameterValue.length === 0) {\n continue;\n }\n }\n if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {\n mimeType.parameters.set(parameterName, parameterValue);\n }\n }\n return mimeType;\n }\n __name(parseMIMEType, "parseMIMEType");\n function forgivingBase64(data) {\n data = data.replace(/[\\u0009\\u000A\\u000C\\u000D\\u0020]/g, "");\n if (data.length % 4 === 0) {\n data = data.replace(/=?=$/, "");\n }\n if (data.length % 4 === 1) {\n return "failure";\n }\n if (/[^+/0-9A-Za-z]/.test(data)) {\n return "failure";\n }\n const binary = atob2(data);\n const bytes = new Uint8Array(binary.length);\n for (let byte = 0; byte < binary.length; byte++) {\n bytes[byte] = binary.charCodeAt(byte);\n }\n return bytes;\n }\n __name(forgivingBase64, "forgivingBase64");\n function collectAnHTTPQuotedString(input, position, extractValue) {\n const positionStart = position.position;\n let value = "";\n assert(input[position.position] === \'"\');\n position.position++;\n while (true) {\n value += collectASequenceOfCodePoints(\n (char) => char !== \'"\' && char !== "\\\\",\n input,\n position\n );\n if (position.position >= input.length) {\n break;\n }\n const quoteOrBackslash = input[position.position];\n position.position++;\n if (quoteOrBackslash === "\\\\") {\n if (position.position >= input.length) {\n value += "\\\\";\n break;\n }\n value += input[position.position];\n position.position++;\n } else {\n assert(quoteOrBackslash === \'"\');\n break;\n }\n }\n if (extractValue) {\n return value;\n }\n return input.slice(positionStart, position.position);\n }\n __name(collectAnHTTPQuotedString, "collectAnHTTPQuotedString");\n function serializeAMimeType(mimeType) {\n assert(mimeType !== "failure");\n const { parameters, essence } = mimeType;\n let serialization = essence;\n for (let [name, value] of parameters.entries()) {\n serialization += ";";\n serialization += name;\n serialization += "=";\n if (!HTTP_TOKEN_CODEPOINTS.test(value)) {\n value = value.replace(/(\\\\|")/g, "\\\\$1");\n value = \'"\' + value;\n value += \'"\';\n }\n serialization += value;\n }\n return serialization;\n }\n __name(serializeAMimeType, "serializeAMimeType");\n function isHTTPWhiteSpace(char) {\n return char === "\\r" || char === "\\n" || char === "\t" || char === " ";\n }\n __name(isHTTPWhiteSpace, "isHTTPWhiteSpace");\n function removeHTTPWhitespace(str, leading = true, trailing = true) {\n let lead = 0;\n let trail = str.length - 1;\n if (leading) {\n for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++)\n ;\n }\n if (trailing) {\n for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--)\n ;\n }\n return str.slice(lead, trail + 1);\n }\n __name(removeHTTPWhitespace, "removeHTTPWhitespace");\n function isASCIIWhitespace(char) {\n return char === "\\r" || char === "\\n" || char === "\t" || char === "\\f" || char === " ";\n }\n __name(isASCIIWhitespace, "isASCIIWhitespace");\n function removeASCIIWhitespace(str, leading = true, trailing = true) {\n let lead = 0;\n let trail = str.length - 1;\n if (leading) {\n for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++)\n ;\n }\n if (trailing) {\n for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--)\n ;\n }\n return str.slice(lead, trail + 1);\n }\n __name(removeASCIIWhitespace, "removeASCIIWhitespace");\n module2.exports = {\n dataURLProcessor,\n URLSerializer,\n collectASequenceOfCodePoints,\n collectASequenceOfCodePointsFast,\n stringPercentDecode,\n parseMIMEType,\n collectAnHTTPQuotedString,\n serializeAMimeType\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/file.js\nvar require_file = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/file.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var { types } = require("util");\n var { kState } = require_symbols();\n var { isBlobLike } = require_util2();\n var { webidl } = require_webidl();\n var { parseMIMEType, serializeAMimeType } = require_dataURL();\n var { kEnumerableProperty } = require_util();\n var File2 = class extends Blob2 {\n constructor(fileBits, fileName, options = {}) {\n webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });\n fileBits = webidl.converters["sequence"](fileBits);\n fileName = webidl.converters.USVString(fileName);\n options = webidl.converters.FilePropertyBag(options);\n const n = fileName;\n let t = options.type;\n let d;\n substep: {\n if (t) {\n t = parseMIMEType(t);\n if (t === "failure") {\n t = "";\n break substep;\n }\n t = serializeAMimeType(t).toLowerCase();\n }\n d = options.lastModified;\n }\n super(processBlobParts(fileBits, options), { type: t });\n this[kState] = {\n name: n,\n lastModified: d,\n type: t\n };\n }\n get name() {\n webidl.brandCheck(this, File2);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, File2);\n return this[kState].lastModified;\n }\n get type() {\n webidl.brandCheck(this, File2);\n return this[kState].type;\n }\n };\n __name(File2, "File");\n var FileLike = class {\n constructor(blobLike, fileName, options = {}) {\n const n = fileName;\n const t = options.type;\n const d = options.lastModified ?? Date.now();\n this[kState] = {\n blobLike,\n name: n,\n type: t,\n lastModified: d\n };\n }\n stream(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.stream(...args);\n }\n arrayBuffer(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.arrayBuffer(...args);\n }\n slice(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.slice(...args);\n }\n text(...args) {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.text(...args);\n }\n get size() {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.size;\n }\n get type() {\n webidl.brandCheck(this, FileLike);\n return this[kState].blobLike.type;\n }\n get name() {\n webidl.brandCheck(this, FileLike);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, FileLike);\n return this[kState].lastModified;\n }\n get [Symbol.toStringTag]() {\n return "File";\n }\n };\n __name(FileLike, "FileLike");\n Object.defineProperties(File2.prototype, {\n [Symbol.toStringTag]: {\n value: "File",\n configurable: true\n },\n name: kEnumerableProperty,\n lastModified: kEnumerableProperty\n });\n webidl.converters.Blob = webidl.interfaceConverter(Blob2);\n webidl.converters.BlobPart = function(V, opts) {\n if (webidl.util.Type(V) === "Object") {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V, opts);\n }\n }\n return webidl.converters.USVString(V, opts);\n };\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.BlobPart\n );\n webidl.converters.FilePropertyBag = webidl.dictionaryConverter([\n {\n key: "lastModified",\n converter: webidl.converters["long long"],\n get defaultValue() {\n return Date.now();\n }\n },\n {\n key: "type",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "endings",\n converter: (value) => {\n value = webidl.converters.DOMString(value);\n value = value.toLowerCase();\n if (value !== "native") {\n value = "transparent";\n }\n return value;\n },\n defaultValue: "transparent"\n }\n ]);\n function processBlobParts(parts, options) {\n const bytes = [];\n for (const element of parts) {\n if (typeof element === "string") {\n let s = element;\n if (options.endings === "native") {\n s = convertLineEndingsNative(s);\n }\n bytes.push(new TextEncoder().encode(s));\n } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) {\n if (!element.buffer) {\n bytes.push(new Uint8Array(element));\n } else {\n bytes.push(\n new Uint8Array(element.buffer, element.byteOffset, element.byteLength)\n );\n }\n } else if (isBlobLike(element)) {\n bytes.push(element);\n }\n }\n return bytes;\n }\n __name(processBlobParts, "processBlobParts");\n function convertLineEndingsNative(s) {\n let nativeLineEnding = "\\n";\n if (define_process_default.platform === "win32") {\n nativeLineEnding = "\\r\\n";\n }\n return s.replace(/\\r?\\n/g, nativeLineEnding);\n }\n __name(convertLineEndingsNative, "convertLineEndingsNative");\n function isFileLike(object) {\n return NativeFile && object instanceof NativeFile || object instanceof File2 || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";\n }\n __name(isFileLike, "isFileLike");\n module2.exports = { File: File2, FileLike, isFileLike };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/formdata.js\nvar require_formdata = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/formdata.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { isBlobLike, toUSVString, makeIterator } = require_util2();\n var { kState } = require_symbols();\n var { File: UndiciFile, FileLike, isFileLike } = require_file();\n var { webidl } = require_webidl();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var File2 = NativeFile ?? UndiciFile;\n var FormData2 = class {\n constructor(form) {\n if (form !== void 0) {\n throw webidl.errors.conversionFailed({\n prefix: "FormData constructor",\n argument: "Argument 1",\n types: ["undefined"]\n });\n }\n this[kState] = [];\n }\n append(name, value, filename = void 0) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n "Failed to execute \'append\' on \'FormData\': parameter 2 is not of type \'Blob\'"\n );\n }\n name = webidl.converters.USVString(name);\n value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);\n filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;\n const entry = makeEntry(name, value, filename);\n this[kState].push(entry);\n }\n delete(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });\n name = webidl.converters.USVString(name);\n this[kState] = this[kState].filter((entry) => entry.name !== name);\n }\n get(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });\n name = webidl.converters.USVString(name);\n const idx = this[kState].findIndex((entry) => entry.name === name);\n if (idx === -1) {\n return null;\n }\n return this[kState][idx].value;\n }\n getAll(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });\n name = webidl.converters.USVString(name);\n return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);\n }\n has(name) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });\n name = webidl.converters.USVString(name);\n return this[kState].findIndex((entry) => entry.name === name) !== -1;\n }\n set(name, value, filename = void 0) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });\n if (arguments.length === 3 && !isBlobLike(value)) {\n throw new TypeError(\n "Failed to execute \'set\' on \'FormData\': parameter 2 is not of type \'Blob\'"\n );\n }\n name = webidl.converters.USVString(name);\n value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);\n filename = arguments.length === 3 ? toUSVString(filename) : void 0;\n const entry = makeEntry(name, value, filename);\n const idx = this[kState].findIndex((entry2) => entry2.name === name);\n if (idx !== -1) {\n this[kState] = [\n ...this[kState].slice(0, idx),\n entry,\n ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)\n ];\n } else {\n this[kState].push(entry);\n }\n }\n entries() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "key+value"\n );\n }\n keys() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, FormData2);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "value"\n );\n }\n /**\n * @param {(value: string, key: string, self: FormData) => void} callbackFn\n * @param {unknown} thisArg\n */\n forEach(callbackFn, thisArg = globalThis) {\n webidl.brandCheck(this, FormData2);\n webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });\n if (typeof callbackFn !== "function") {\n throw new TypeError(\n "Failed to execute \'forEach\' on \'FormData\': parameter 1 is not of type \'Function\'."\n );\n }\n for (const [key, value] of this) {\n callbackFn.apply(thisArg, [value, key, this]);\n }\n }\n };\n __name(FormData2, "FormData");\n FormData2.prototype[Symbol.iterator] = FormData2.prototype.entries;\n Object.defineProperties(FormData2.prototype, {\n [Symbol.toStringTag]: {\n value: "FormData",\n configurable: true\n }\n });\n function makeEntry(name, value, filename) {\n name = Buffer.from(name).toString("utf8");\n if (typeof value === "string") {\n value = Buffer.from(value).toString("utf8");\n } else {\n if (!isFileLike(value)) {\n value = value instanceof Blob2 ? new File2([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });\n }\n if (filename !== void 0) {\n const options = {\n type: value.type,\n lastModified: value.lastModified\n };\n value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File2([value], filename, options) : new FileLike(value, filename, options);\n }\n }\n return { name, value };\n }\n __name(makeEntry, "makeEntry");\n module2.exports = { FormData: FormData2 };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/body.js\nvar require_body = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/body.js"(exports, module2) {\n "use strict";\n init_define_process();\n var Busboy = require_lib();\n var util = require_util();\n var {\n ReadableStreamFrom,\n isBlobLike,\n isReadableStreamLike,\n readableStreamClose,\n createDeferredPromise,\n fullyReadBody\n } = require_util2();\n var { FormData: FormData2 } = require_formdata();\n var { kState } = require_symbols();\n var { webidl } = require_webidl();\n var { DOMException, structuredClone } = require_constants();\n var { Blob: Blob2, File: NativeFile } = require("buffer");\n var { kBodyUsed } = require_symbols2();\n var assert = require("assert");\n var { isErrored } = require_util();\n var { isUint8Array, isArrayBuffer } = require_util_types();\n var { File: UndiciFile } = require_file();\n var { parseMIMEType, serializeAMimeType } = require_dataURL();\n var ReadableStream = globalThis.ReadableStream;\n var File2 = NativeFile ?? UndiciFile;\n function extractBody(object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n let stream = null;\n if (object instanceof ReadableStream) {\n stream = object;\n } else if (isBlobLike(object)) {\n stream = object.stream();\n } else {\n stream = new ReadableStream({\n async pull(controller) {\n controller.enqueue(\n typeof source === "string" ? new TextEncoder().encode(source) : source\n );\n queueMicrotask(() => readableStreamClose(controller));\n },\n start() {\n },\n type: void 0\n });\n }\n assert(isReadableStreamLike(stream));\n let action = null;\n let source = null;\n let length = null;\n let type = null;\n if (typeof object === "string") {\n source = object;\n type = "text/plain;charset=UTF-8";\n } else if (object instanceof URLSearchParams) {\n source = object.toString();\n type = "application/x-www-form-urlencoded;charset=UTF-8";\n } else if (isArrayBuffer(object)) {\n source = new Uint8Array(object.slice());\n } else if (ArrayBuffer.isView(object)) {\n source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));\n } else if (util.isFormDataLike(object)) {\n const boundary = `----formdata-undici-${Math.random()}`.replace(".", "").slice(0, 32);\n const prefix = `--${boundary}\\r\nContent-Disposition: form-data`;\n const escape = /* @__PURE__ */ __name((str) => str.replace(/\\n/g, "%0A").replace(/\\r/g, "%0D").replace(/"/g, "%22"), "escape");\n const normalizeLinefeeds = /* @__PURE__ */ __name((value) => value.replace(/\\r?\\n|\\r/g, "\\r\\n"), "normalizeLinefeeds");\n const enc = new TextEncoder();\n const blobParts = [];\n const rn = new Uint8Array([13, 10]);\n length = 0;\n let hasUnknownSizeValue = false;\n for (const [name, value] of object) {\n if (typeof value === "string") {\n const chunk2 = enc.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\\r\n\\r\n${normalizeLinefeeds(value)}\\r\n`);\n blobParts.push(chunk2);\n length += chunk2.byteLength;\n } else {\n const chunk2 = enc.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\\r\nContent-Type: ${value.type || "application/octet-stream"}\\r\n\\r\n`);\n blobParts.push(chunk2, value, rn);\n if (typeof value.size === "number") {\n length += chunk2.byteLength + value.size + rn.byteLength;\n } else {\n hasUnknownSizeValue = true;\n }\n }\n }\n const chunk = enc.encode(`--${boundary}--`);\n blobParts.push(chunk);\n length += chunk.byteLength;\n if (hasUnknownSizeValue) {\n length = null;\n }\n source = object;\n action = /* @__PURE__ */ __name(async function* () {\n for (const part of blobParts) {\n if (part.stream) {\n yield* part.stream();\n } else {\n yield part;\n }\n }\n }, "action");\n type = "multipart/form-data; boundary=" + boundary;\n } else if (isBlobLike(object)) {\n source = object;\n length = object.size;\n if (object.type) {\n type = object.type;\n }\n } else if (typeof object[Symbol.asyncIterator] === "function") {\n if (keepalive) {\n throw new TypeError("keepalive");\n }\n if (util.isDisturbed(object) || object.locked) {\n throw new TypeError(\n "Response body object should not be disturbed or locked"\n );\n }\n stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);\n }\n if (typeof source === "string" || util.isBuffer(source)) {\n length = Buffer.byteLength(source);\n }\n if (action != null) {\n let iterator;\n stream = new ReadableStream({\n async start() {\n iterator = action(object)[Symbol.asyncIterator]();\n },\n async pull(controller) {\n const { value, done } = await iterator.next();\n if (done) {\n queueMicrotask(() => {\n controller.close();\n });\n } else {\n if (!isErrored(stream)) {\n controller.enqueue(new Uint8Array(value));\n }\n }\n return controller.desiredSize > 0;\n },\n async cancel(reason) {\n await iterator.return();\n },\n type: void 0\n });\n }\n const body = { stream, source, length };\n return [body, type];\n }\n __name(extractBody, "extractBody");\n function safelyExtractBody(object, keepalive = false) {\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n if (object instanceof ReadableStream) {\n assert(!util.isDisturbed(object), "The body has already been consumed.");\n assert(!object.locked, "The stream is locked.");\n }\n return extractBody(object, keepalive);\n }\n __name(safelyExtractBody, "safelyExtractBody");\n function cloneBody(body) {\n const [out1, out2] = body.stream.tee();\n const out2Clone = structuredClone(out2, { transfer: [out2] });\n const [, finalClone] = out2Clone.tee();\n body.stream = out1;\n return {\n stream: finalClone,\n length: body.length,\n source: body.source\n };\n }\n __name(cloneBody, "cloneBody");\n async function* consumeBody(body) {\n if (body) {\n if (isUint8Array(body)) {\n yield body;\n } else {\n const stream = body.stream;\n if (util.isDisturbed(stream)) {\n throw new TypeError("The body has already been consumed.");\n }\n if (stream.locked) {\n throw new TypeError("The stream is locked.");\n }\n stream[kBodyUsed] = true;\n yield* stream;\n }\n }\n }\n __name(consumeBody, "consumeBody");\n function throwIfAborted(state) {\n if (state.aborted) {\n throw new DOMException("The operation was aborted.", "AbortError");\n }\n }\n __name(throwIfAborted, "throwIfAborted");\n function bodyMixinMethods(instance) {\n const methods = {\n blob() {\n return specConsumeBody(this, (bytes) => {\n let mimeType = bodyMimeType(this);\n if (mimeType === "failure") {\n mimeType = "";\n } else if (mimeType) {\n mimeType = serializeAMimeType(mimeType);\n }\n return new Blob2([bytes], { type: mimeType });\n }, instance);\n },\n arrayBuffer() {\n return specConsumeBody(this, (bytes) => {\n return new Uint8Array(bytes).buffer;\n }, instance);\n },\n text() {\n return specConsumeBody(this, utf8DecodeBytes, instance);\n },\n json() {\n return specConsumeBody(this, parseJSONFromBytes, instance);\n },\n async formData() {\n webidl.brandCheck(this, instance);\n throwIfAborted(this[kState]);\n const contentType = this.headers.get("Content-Type");\n if (/multipart\\/form-data/.test(contentType)) {\n const headers = {};\n for (const [key, value] of this.headers)\n headers[key.toLowerCase()] = value;\n const responseFormData = new FormData2();\n let busboy;\n try {\n busboy = Busboy({\n headers,\n defParamCharset: "utf8"\n });\n } catch (err) {\n throw new DOMException(`${err}`, "AbortError");\n }\n busboy.on("field", (name, value) => {\n responseFormData.append(name, value);\n });\n busboy.on("file", (name, value, info) => {\n const { filename, encoding, mimeType } = info;\n const chunks = [];\n if (encoding === "base64" || encoding.toLowerCase() === "base64") {\n let base64chunk = "";\n value.on("data", (chunk) => {\n base64chunk += chunk.toString().replace(/[\\r\\n]/gm, "");\n const end = base64chunk.length - base64chunk.length % 4;\n chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));\n base64chunk = base64chunk.slice(end);\n });\n value.on("end", () => {\n chunks.push(Buffer.from(base64chunk, "base64"));\n responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));\n });\n } else {\n value.on("data", (chunk) => {\n chunks.push(chunk);\n });\n value.on("end", () => {\n responseFormData.append(name, new File2(chunks, filename, { type: mimeType }));\n });\n }\n });\n const busboyResolve = new Promise((resolve, reject) => {\n busboy.on("finish", resolve);\n busboy.on("error", (err) => reject(new TypeError(err)));\n });\n if (this.body !== null)\n for await (const chunk of consumeBody(this[kState].body))\n busboy.write(chunk);\n busboy.end();\n await busboyResolve;\n return responseFormData;\n } else if (/application\\/x-www-form-urlencoded/.test(contentType)) {\n let entries;\n try {\n let text = "";\n const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true });\n for await (const chunk of consumeBody(this[kState].body)) {\n if (!isUint8Array(chunk)) {\n throw new TypeError("Expected Uint8Array chunk");\n }\n text += textDecoder.decode(chunk, { stream: true });\n }\n text += textDecoder.decode();\n entries = new URLSearchParams(text);\n } catch (err) {\n throw Object.assign(new TypeError(), { cause: err });\n }\n const formData = new FormData2();\n for (const [name, value] of entries) {\n formData.append(name, value);\n }\n return formData;\n } else {\n await Promise.resolve();\n throwIfAborted(this[kState]);\n throw webidl.errors.exception({\n header: `${instance.name}.formData`,\n message: "Could not parse content as FormData."\n });\n }\n }\n };\n return methods;\n }\n __name(bodyMixinMethods, "bodyMixinMethods");\n function mixinBody(prototype) {\n Object.assign(prototype.prototype, bodyMixinMethods(prototype));\n }\n __name(mixinBody, "mixinBody");\n async function specConsumeBody(object, convertBytesToJSValue, instance) {\n webidl.brandCheck(object, instance);\n throwIfAborted(object[kState]);\n if (bodyUnusable(object[kState].body)) {\n throw new TypeError("Body is unusable");\n }\n const promise = createDeferredPromise();\n const errorSteps = /* @__PURE__ */ __name((error) => promise.reject(error), "errorSteps");\n const successSteps = /* @__PURE__ */ __name((data) => {\n try {\n promise.resolve(convertBytesToJSValue(data));\n } catch (e) {\n errorSteps(e);\n }\n }, "successSteps");\n if (object[kState].body == null) {\n successSteps(new Uint8Array());\n return promise.promise;\n }\n fullyReadBody(object[kState].body, successSteps, errorSteps);\n return promise.promise;\n }\n __name(specConsumeBody, "specConsumeBody");\n function bodyUnusable(body) {\n return body != null && (body.stream.locked || util.isDisturbed(body.stream));\n }\n __name(bodyUnusable, "bodyUnusable");\n function utf8DecodeBytes(buffer) {\n if (buffer.length === 0) {\n return "";\n }\n if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {\n buffer = buffer.subarray(3);\n }\n const output = new TextDecoder().decode(buffer);\n return output;\n }\n __name(utf8DecodeBytes, "utf8DecodeBytes");\n function parseJSONFromBytes(bytes) {\n return JSON.parse(utf8DecodeBytes(bytes));\n }\n __name(parseJSONFromBytes, "parseJSONFromBytes");\n function bodyMimeType(object) {\n const { headersList } = object[kState];\n const contentType = headersList.get("content-type");\n if (contentType === null) {\n return "failure";\n }\n return parseMIMEType(contentType);\n }\n __name(bodyMimeType, "bodyMimeType");\n module2.exports = {\n extractBody,\n safelyExtractBody,\n cloneBody,\n mixinBody\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/response.js\nvar require_response = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/response.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Headers: Headers3, HeadersList, fill } = require_headers();\n var { extractBody, cloneBody, mixinBody } = require_body();\n var util = require_util();\n var { kEnumerableProperty } = util;\n var {\n isValidReasonPhrase,\n isCancelled,\n isAborted,\n isBlobLike,\n serializeJavascriptValueToJSONString,\n isErrorLike,\n isomorphicEncode\n } = require_util2();\n var {\n redirectStatus,\n nullBodyStatus,\n DOMException\n } = require_constants();\n var { kState, kHeaders: kHeaders2, kGuard: kGuard2, kRealm } = require_symbols();\n var { webidl } = require_webidl();\n var { FormData: FormData2 } = require_formdata();\n var { getGlobalOrigin } = require_global();\n var { URLSerializer } = require_dataURL();\n var { kHeadersList } = require_symbols2();\n var assert = require("assert");\n var { types } = require("util");\n var ReadableStream = globalThis.ReadableStream || require("./streams").ReadableStream;\n var Response3 = class {\n // Creates network error Response.\n static error() {\n const relevantRealm = { settingsObject: {} };\n const responseObject = new Response3();\n responseObject[kState] = makeNetworkError();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kHeadersList] = responseObject[kState].headersList;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n return responseObject;\n }\n // https://fetch.spec.whatwg.org/#dom-response-json\n static json(data = void 0, init = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" });\n if (init !== null) {\n init = webidl.converters.ResponseInit(init);\n }\n const bytes = new TextEncoder("utf-8").encode(\n serializeJavascriptValueToJSONString(data)\n );\n const body = extractBody(bytes);\n const relevantRealm = { settingsObject: {} };\n const responseObject = new Response3();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kGuard2] = "response";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n initializeResponse(responseObject, init, { body: body[0], type: "application/json" });\n return responseObject;\n }\n // Creates a redirect Response that redirects to url with status status.\n static redirect(url, status = 302) {\n const relevantRealm = { settingsObject: {} };\n webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" });\n url = webidl.converters.USVString(url);\n status = webidl.converters["unsigned short"](status);\n let parsedURL;\n try {\n parsedURL = new URL(url, getGlobalOrigin());\n } catch (err) {\n throw Object.assign(new TypeError("Failed to parse URL from " + url), {\n cause: err\n });\n }\n if (!redirectStatus.includes(status)) {\n throw new RangeError("Invalid status code " + status);\n }\n const responseObject = new Response3();\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n responseObject[kState].status = status;\n const value = isomorphicEncode(URLSerializer(parsedURL));\n responseObject[kState].headersList.append("location", value);\n return responseObject;\n }\n // https://fetch.spec.whatwg.org/#dom-response\n constructor(body = null, init = {}) {\n if (body !== null) {\n body = webidl.converters.BodyInit(body);\n }\n init = webidl.converters.ResponseInit(init);\n this[kRealm] = { settingsObject: {} };\n this[kState] = makeResponse({});\n this[kHeaders2] = new Headers3();\n this[kHeaders2][kGuard2] = "response";\n this[kHeaders2][kHeadersList] = this[kState].headersList;\n this[kHeaders2][kRealm] = this[kRealm];\n let bodyWithType = null;\n if (body != null) {\n const [extractedBody, type] = extractBody(body);\n bodyWithType = { body: extractedBody, type };\n }\n initializeResponse(this, init, bodyWithType);\n }\n // Returns response’s type, e.g., "cors".\n get type() {\n webidl.brandCheck(this, Response3);\n return this[kState].type;\n }\n // Returns response’s URL, if it has one; otherwise the empty string.\n get url() {\n webidl.brandCheck(this, Response3);\n const urlList = this[kState].urlList;\n const url = urlList[urlList.length - 1] ?? null;\n if (url === null) {\n return "";\n }\n return URLSerializer(url, true);\n }\n // Returns whether response was obtained through a redirect.\n get redirected() {\n webidl.brandCheck(this, Response3);\n return this[kState].urlList.length > 1;\n }\n // Returns response’s status.\n get status() {\n webidl.brandCheck(this, Response3);\n return this[kState].status;\n }\n // Returns whether response’s status is an ok status.\n get ok() {\n webidl.brandCheck(this, Response3);\n return this[kState].status >= 200 && this[kState].status <= 299;\n }\n // Returns response’s status message.\n get statusText() {\n webidl.brandCheck(this, Response3);\n return this[kState].statusText;\n }\n // Returns response’s headers as Headers.\n get headers() {\n webidl.brandCheck(this, Response3);\n return this[kHeaders2];\n }\n get body() {\n webidl.brandCheck(this, Response3);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, Response3);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n // Returns a clone of response.\n clone() {\n webidl.brandCheck(this, Response3);\n if (this.bodyUsed || this.body && this.body.locked) {\n throw webidl.errors.exception({\n header: "Response.clone",\n message: "Body has already been consumed."\n });\n }\n const clonedResponse = cloneResponse(this[kState]);\n const clonedResponseObject = new Response3();\n clonedResponseObject[kState] = clonedResponse;\n clonedResponseObject[kRealm] = this[kRealm];\n clonedResponseObject[kHeaders2][kHeadersList] = clonedResponse.headersList;\n clonedResponseObject[kHeaders2][kGuard2] = this[kHeaders2][kGuard2];\n clonedResponseObject[kHeaders2][kRealm] = this[kHeaders2][kRealm];\n return clonedResponseObject;\n }\n };\n __name(Response3, "Response");\n mixinBody(Response3);\n Object.defineProperties(Response3.prototype, {\n type: kEnumerableProperty,\n url: kEnumerableProperty,\n status: kEnumerableProperty,\n ok: kEnumerableProperty,\n redirected: kEnumerableProperty,\n statusText: kEnumerableProperty,\n headers: kEnumerableProperty,\n clone: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "Response",\n configurable: true\n }\n });\n Object.defineProperties(Response3, {\n json: kEnumerableProperty,\n redirect: kEnumerableProperty,\n error: kEnumerableProperty\n });\n function cloneResponse(response) {\n if (response.internalResponse) {\n return filterResponse(\n cloneResponse(response.internalResponse),\n response.type\n );\n }\n const newResponse = makeResponse({ ...response, body: null });\n if (response.body != null) {\n newResponse.body = cloneBody(response.body);\n }\n return newResponse;\n }\n __name(cloneResponse, "cloneResponse");\n function makeResponse(init) {\n return {\n aborted: false,\n rangeRequested: false,\n timingAllowPassed: false,\n requestIncludesCredentials: false,\n type: "default",\n status: 200,\n timingInfo: null,\n cacheState: "",\n statusText: "",\n ...init,\n headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(),\n urlList: init.urlList ? [...init.urlList] : []\n };\n }\n __name(makeResponse, "makeResponse");\n function makeNetworkError(reason) {\n const isError = isErrorLike(reason);\n return makeResponse({\n type: "error",\n status: 0,\n error: isError ? reason : new Error(reason ? String(reason) : reason),\n aborted: reason && reason.name === "AbortError"\n });\n }\n __name(makeNetworkError, "makeNetworkError");\n function makeFilteredResponse(response, state) {\n state = {\n internalResponse: response,\n ...state\n };\n return new Proxy(response, {\n get(target, p) {\n return p in state ? state[p] : target[p];\n },\n set(target, p, value) {\n assert(!(p in state));\n target[p] = value;\n return true;\n }\n });\n }\n __name(makeFilteredResponse, "makeFilteredResponse");\n function filterResponse(response, type) {\n if (type === "basic") {\n return makeFilteredResponse(response, {\n type: "basic",\n headersList: response.headersList\n });\n } else if (type === "cors") {\n return makeFilteredResponse(response, {\n type: "cors",\n headersList: response.headersList\n });\n } else if (type === "opaque") {\n return makeFilteredResponse(response, {\n type: "opaque",\n urlList: Object.freeze([]),\n status: 0,\n statusText: "",\n body: null\n });\n } else if (type === "opaqueredirect") {\n return makeFilteredResponse(response, {\n type: "opaqueredirect",\n status: 0,\n statusText: "",\n headersList: [],\n body: null\n });\n } else {\n assert(false);\n }\n }\n __name(filterResponse, "filterResponse");\n function makeAppropriateNetworkError(fetchParams) {\n assert(isCancelled(fetchParams));\n return isAborted(fetchParams) ? makeNetworkError(new DOMException("The operation was aborted.", "AbortError")) : makeNetworkError("Request was cancelled.");\n }\n __name(makeAppropriateNetworkError, "makeAppropriateNetworkError");\n function initializeResponse(response, init, body) {\n if (init.status !== null && (init.status < 200 || init.status > 599)) {\n throw new RangeError(\'init["status"] must be in the range of 200 to 599, inclusive.\');\n }\n if ("statusText" in init && init.statusText != null) {\n if (!isValidReasonPhrase(String(init.statusText))) {\n throw new TypeError("Invalid statusText");\n }\n }\n if ("status" in init && init.status != null) {\n response[kState].status = init.status;\n }\n if ("statusText" in init && init.statusText != null) {\n response[kState].statusText = init.statusText;\n }\n if ("headers" in init && init.headers != null) {\n fill(response[kHeaders2], init.headers);\n }\n if (body) {\n if (nullBodyStatus.includes(response.status)) {\n throw webidl.errors.exception({\n header: "Response constructor",\n message: "Invalid response status code " + response.status\n });\n }\n response[kState].body = body.body;\n if (body.type != null && !response[kState].headersList.contains("Content-Type")) {\n response[kState].headersList.append("content-type", body.type);\n }\n }\n }\n __name(initializeResponse, "initializeResponse");\n webidl.converters.ReadableStream = webidl.interfaceConverter(\n ReadableStream\n );\n webidl.converters.FormData = webidl.interfaceConverter(\n FormData2\n );\n webidl.converters.URLSearchParams = webidl.interfaceConverter(\n URLSearchParams\n );\n webidl.converters.XMLHttpRequestBodyInit = function(V) {\n if (typeof V === "string") {\n return webidl.converters.USVString(V);\n }\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (types.isAnyArrayBuffer(V) || types.isTypedArray(V) || types.isDataView(V)) {\n return webidl.converters.BufferSource(V);\n }\n if (util.isFormDataLike(V)) {\n return webidl.converters.FormData(V, { strict: false });\n }\n if (V instanceof URLSearchParams) {\n return webidl.converters.URLSearchParams(V);\n }\n return webidl.converters.DOMString(V);\n };\n webidl.converters.BodyInit = function(V) {\n if (V instanceof ReadableStream) {\n return webidl.converters.ReadableStream(V);\n }\n if (V == null ? void 0 : V[Symbol.asyncIterator]) {\n return V;\n }\n return webidl.converters.XMLHttpRequestBodyInit(V);\n };\n webidl.converters.ResponseInit = webidl.dictionaryConverter([\n {\n key: "status",\n converter: webidl.converters["unsigned short"],\n defaultValue: 200\n },\n {\n key: "statusText",\n converter: webidl.converters.ByteString,\n defaultValue: ""\n },\n {\n key: "headers",\n converter: webidl.converters.HeadersInit\n }\n ]);\n module2.exports = {\n makeNetworkError,\n makeResponse,\n makeAppropriateNetworkError,\n filterResponse,\n Response: Response3,\n cloneResponse\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/compat/dispatcher-weakref.js\nvar require_dispatcher_weakref = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kConnected, kSize } = require_symbols2();\n var CompatWeakRef = class {\n constructor(value) {\n this.value = value;\n }\n deref() {\n return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value;\n }\n };\n __name(CompatWeakRef, "CompatWeakRef");\n var CompatFinalizer = class {\n constructor(finalizer) {\n this.finalizer = finalizer;\n }\n register(dispatcher, key) {\n dispatcher.on("disconnect", () => {\n if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) {\n this.finalizer(key);\n }\n });\n }\n };\n __name(CompatFinalizer, "CompatFinalizer");\n module2.exports = function() {\n return {\n WeakRef: global.WeakRef || CompatWeakRef,\n FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer\n };\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/request.js\nvar require_request = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/request.js"(exports, module2) {\n init_define_process();\n global.FinalizationRegistry = function() {\n return { register: function() {\n } };\n };\n var { extractBody, mixinBody, cloneBody } = require_body();\n var { Headers: Headers3, fill: fillHeaders, HeadersList } = require_headers();\n var { FinalizationRegistry } = require_dispatcher_weakref()();\n var util = require_util();\n var {\n isValidHTTPToken,\n sameOrigin,\n normalizeMethod,\n makePolicyContainer\n } = require_util2();\n var {\n forbiddenMethods,\n corsSafeListedMethods,\n referrerPolicy,\n requestRedirect,\n requestMode,\n requestCredentials,\n requestCache,\n requestDuplex\n } = require_constants();\n var { kEnumerableProperty } = util;\n var { kHeaders: kHeaders2, kSignal, kState, kGuard: kGuard2, kRealm } = require_symbols();\n var { webidl } = require_webidl();\n var { getGlobalOrigin } = require_global();\n var { URLSerializer } = require_dataURL();\n var { kHeadersList } = require_symbols2();\n var assert = require("assert");\n var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");\n var TransformStream = globalThis.TransformStream;\n var kInit = Symbol("init");\n var kAbortController = Symbol("abortController");\n var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {\n signal.removeEventListener("abort", abort);\n });\n var Request2 = class {\n // https://fetch.spec.whatwg.org/#dom-request\n constructor(input, init = {}) {\n var _a, _b;\n if (input === kInit) {\n return;\n }\n webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" });\n input = webidl.converters.RequestInfo(input);\n init = webidl.converters.RequestInit(init);\n this[kRealm] = {\n settingsObject: {\n baseUrl: getGlobalOrigin(),\n get origin() {\n var _a2;\n return (_a2 = this.baseUrl) == null ? void 0 : _a2.origin;\n },\n policyContainer: makePolicyContainer()\n }\n };\n let request = null;\n let fallbackMode = null;\n const baseUrl = this[kRealm].settingsObject.baseUrl;\n let signal = null;\n if (typeof input === "string") {\n let parsedURL;\n try {\n parsedURL = new URL(input, baseUrl);\n } catch (err) {\n throw new TypeError("Failed to parse URL from " + input, { cause: err });\n }\n if (parsedURL.username || parsedURL.password) {\n throw new TypeError(\n "Request cannot be constructed from a URL that includes credentials: " + input\n );\n }\n request = makeRequest({ urlList: [parsedURL] });\n fallbackMode = "cors";\n } else {\n assert(input instanceof Request2);\n request = input[kState];\n signal = input[kSignal];\n }\n const origin = this[kRealm].settingsObject.origin;\n let window = "client";\n if (((_b = (_a = request.window) == null ? void 0 : _a.constructor) == null ? void 0 : _b.name) === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) {\n window = request.window;\n }\n if (init.window != null) {\n throw new TypeError(`\'window\' option \'${window}\' must be null`);\n }\n if ("window" in init) {\n window = "no-window";\n }\n request = makeRequest({\n // URL request’s URL.\n // undici implementation note: this is set as the first item in request\'s urlList in makeRequest\n // method request’s method.\n method: request.method,\n // header list A copy of request’s header list.\n // undici implementation note: headersList is cloned in makeRequest\n headersList: request.headersList,\n // unsafe-request flag Set.\n unsafeRequest: request.unsafeRequest,\n // client This’s relevant settings object.\n client: this[kRealm].settingsObject,\n // window window.\n window,\n // priority request’s priority.\n priority: request.priority,\n // origin request’s origin. The propagation of the origin is only significant for navigation requests\n // being handled by a service worker. In this scenario a request can have an origin that is different\n // from the current client.\n origin: request.origin,\n // referrer request’s referrer.\n referrer: request.referrer,\n // referrer policy request’s referrer policy.\n referrerPolicy: request.referrerPolicy,\n // mode request’s mode.\n mode: request.mode,\n // credentials mode request’s credentials mode.\n credentials: request.credentials,\n // cache mode request’s cache mode.\n cache: request.cache,\n // redirect mode request’s redirect mode.\n redirect: request.redirect,\n // integrity metadata request’s integrity metadata.\n integrity: request.integrity,\n // keepalive request’s keepalive.\n keepalive: request.keepalive,\n // reload-navigation flag request’s reload-navigation flag.\n reloadNavigation: request.reloadNavigation,\n // history-navigation flag request’s history-navigation flag.\n historyNavigation: request.historyNavigation,\n // URL list A clone of request’s URL list.\n urlList: [...request.urlList]\n });\n if (Object.keys(init).length > 0) {\n if (request.mode === "navigate") {\n request.mode = "same-origin";\n }\n request.reloadNavigation = false;\n request.historyNavigation = false;\n request.origin = "client";\n request.referrer = "client";\n request.referrerPolicy = "";\n request.url = request.urlList[request.urlList.length - 1];\n request.urlList = [request.url];\n }\n if (init.referrer !== void 0) {\n const referrer = init.referrer;\n if (referrer === "") {\n request.referrer = "no-referrer";\n } else {\n let parsedReferrer;\n try {\n parsedReferrer = new URL(referrer, baseUrl);\n } catch (err) {\n throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err });\n }\n request.referrer = parsedReferrer;\n }\n }\n if (init.referrerPolicy !== void 0) {\n request.referrerPolicy = init.referrerPolicy;\n }\n let mode;\n if (init.mode !== void 0) {\n mode = init.mode;\n } else {\n mode = fallbackMode;\n }\n if (mode === "navigate") {\n throw webidl.errors.exception({\n header: "Request constructor",\n message: "invalid request mode navigate."\n });\n }\n if (mode != null) {\n request.mode = mode;\n }\n if (init.credentials !== void 0) {\n request.credentials = init.credentials;\n }\n if (init.cache !== void 0) {\n request.cache = init.cache;\n }\n if (request.cache === "only-if-cached" && request.mode !== "same-origin") {\n throw new TypeError(\n "\'only-if-cached\' can be set only with \'same-origin\' mode"\n );\n }\n if (init.redirect !== void 0) {\n request.redirect = init.redirect;\n }\n if (init.integrity !== void 0 && init.integrity != null) {\n request.integrity = String(init.integrity);\n }\n if (init.keepalive !== void 0) {\n request.keepalive = Boolean(init.keepalive);\n }\n if (init.method !== void 0) {\n let method = init.method;\n if (!isValidHTTPToken(init.method)) {\n throw TypeError(`\'${init.method}\' is not a valid HTTP method.`);\n }\n if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {\n throw TypeError(`\'${init.method}\' HTTP method is unsupported.`);\n }\n method = normalizeMethod(init.method);\n request.method = method;\n }\n if (init.signal !== void 0) {\n signal = init.signal;\n }\n this[kState] = request;\n const ac = new AbortController();\n this[kSignal] = ac.signal;\n this[kSignal][kRealm] = this[kRealm];\n if (signal != null) {\n if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") {\n throw new TypeError(\n "Failed to construct \'Request\': member signal is not of type AbortSignal."\n );\n }\n if (signal.aborted) {\n ac.abort(signal.reason);\n } else {\n this[kAbortController] = ac;\n const acRef = new WeakRef(ac);\n const abort = /* @__PURE__ */ __name(function() {\n const ac2 = acRef.deref();\n if (ac2 !== void 0) {\n ac2.abort(this.reason);\n }\n }, "abort");\n try {\n if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) {\n setMaxListeners(100, signal);\n } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) {\n setMaxListeners(100, signal);\n }\n } catch {\n }\n signal.addEventListener("abort", abort, { once: true });\n requestFinalizer.register(ac, { signal, abort });\n }\n }\n this[kHeaders2] = new Headers3();\n this[kHeaders2][kHeadersList] = request.headersList;\n this[kHeaders2][kGuard2] = "request";\n this[kHeaders2][kRealm] = this[kRealm];\n if (mode === "no-cors") {\n if (!corsSafeListedMethods.includes(request.method)) {\n throw new TypeError(\n `\'${request.method} is unsupported in no-cors mode.`\n );\n }\n this[kHeaders2][kGuard2] = "request-no-cors";\n }\n if (Object.keys(init).length !== 0) {\n let headers = new Headers3(this[kHeaders2]);\n if (init.headers !== void 0) {\n headers = init.headers;\n }\n this[kHeaders2][kHeadersList].clear();\n if (headers.constructor.name === "Headers") {\n for (const [key, val] of headers) {\n this[kHeaders2].append(key, val);\n }\n } else {\n fillHeaders(this[kHeaders2], headers);\n }\n }\n const inputBody = input instanceof Request2 ? input[kState].body : null;\n if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) {\n throw new TypeError("Request with GET/HEAD method cannot have body.");\n }\n let initBody = null;\n if (init.body != null) {\n const [extractedBody, contentType] = extractBody(\n init.body,\n request.keepalive\n );\n initBody = extractedBody;\n if (contentType && !this[kHeaders2][kHeadersList].contains("content-type")) {\n this[kHeaders2].append("content-type", contentType);\n }\n }\n const inputOrInitBody = initBody ?? inputBody;\n if (inputOrInitBody != null && inputOrInitBody.source == null) {\n if (initBody != null && init.duplex == null) {\n throw new TypeError("RequestInit: duplex option is required when sending a body.");\n }\n if (request.mode !== "same-origin" && request.mode !== "cors") {\n throw new TypeError(\n \'If request is made from ReadableStream, mode should be "same-origin" or "cors"\'\n );\n }\n request.useCORSPreflightFlag = true;\n }\n let finalBody = inputOrInitBody;\n if (initBody == null && inputBody != null) {\n if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) {\n throw new TypeError(\n "Cannot construct a Request with a Request object that has already been used."\n );\n }\n if (!TransformStream) {\n TransformStream = require("./streams").TransformStream;\n }\n const identityTransform = new TransformStream();\n inputBody.stream.pipeThrough(identityTransform);\n finalBody = {\n source: inputBody.source,\n length: inputBody.length,\n stream: identityTransform.readable\n };\n }\n this[kState].body = finalBody;\n }\n // Returns request’s HTTP method, which is "GET" by default.\n get method() {\n webidl.brandCheck(this, Request2);\n return this[kState].method;\n }\n // Returns the URL of request as a string.\n get url() {\n webidl.brandCheck(this, Request2);\n return URLSerializer(this[kState].url);\n }\n // Returns a Headers object consisting of the headers associated with request.\n // Note that headers added in the network layer by the user agent will not\n // be accounted for in this object, e.g., the "Host" header.\n get headers() {\n webidl.brandCheck(this, Request2);\n return this[kHeaders2];\n }\n // Returns the kind of resource requested by request, e.g., "document"\n // or "script".\n get destination() {\n webidl.brandCheck(this, Request2);\n return this[kState].destination;\n }\n // Returns the referrer of request. Its value can be a same-origin URL if\n // explicitly set in init, the empty string to indicate no referrer, and\n // "about:client" when defaulting to the global’s default. This is used\n // during fetching to determine the value of the `Referer` header of the\n // request being made.\n get referrer() {\n webidl.brandCheck(this, Request2);\n if (this[kState].referrer === "no-referrer") {\n return "";\n }\n if (this[kState].referrer === "client") {\n return "about:client";\n }\n return this[kState].referrer.toString();\n }\n // Returns the referrer policy associated with request.\n // This is used during fetching to compute the value of the request’s\n // referrer.\n get referrerPolicy() {\n webidl.brandCheck(this, Request2);\n return this[kState].referrerPolicy;\n }\n // Returns the mode associated with request, which is a string indicating\n // whether the request will use CORS, or will be restricted to same-origin\n // URLs.\n get mode() {\n webidl.brandCheck(this, Request2);\n return this[kState].mode;\n }\n // Returns the credentials mode associated with request,\n // which is a string indicating whether credentials will be sent with the\n // request always, never, or only when sent to a same-origin URL.\n get credentials() {\n return this[kState].credentials;\n }\n // Returns the cache mode associated with request,\n // which is a string indicating how the request will\n // interact with the browser’s cache when fetching.\n get cache() {\n webidl.brandCheck(this, Request2);\n return this[kState].cache;\n }\n // Returns the redirect mode associated with request,\n // which is a string indicating how redirects for the\n // request will be handled during fetching. A request\n // will follow redirects by default.\n get redirect() {\n webidl.brandCheck(this, Request2);\n return this[kState].redirect;\n }\n // Returns request’s subresource integrity metadata, which is a\n // cryptographic hash of the resource being fetched. Its value\n // consists of multiple hashes separated by whitespace. [SRI]\n get integrity() {\n webidl.brandCheck(this, Request2);\n return this[kState].integrity;\n }\n // Returns a boolean indicating whether or not request can outlive the\n // global in which it was created.\n get keepalive() {\n webidl.brandCheck(this, Request2);\n return this[kState].keepalive;\n }\n // Returns a boolean indicating whether or not request is for a reload\n // navigation.\n get isReloadNavigation() {\n webidl.brandCheck(this, Request2);\n return this[kState].reloadNavigation;\n }\n // Returns a boolean indicating whether or not request is for a history\n // navigation (a.k.a. back-foward navigation).\n get isHistoryNavigation() {\n webidl.brandCheck(this, Request2);\n return this[kState].historyNavigation;\n }\n // Returns the signal associated with request, which is an AbortSignal\n // object indicating whether or not request has been aborted, and its\n // abort event handler.\n get signal() {\n webidl.brandCheck(this, Request2);\n return this[kSignal];\n }\n get body() {\n webidl.brandCheck(this, Request2);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, Request2);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n get duplex() {\n webidl.brandCheck(this, Request2);\n return "half";\n }\n // Returns a clone of request.\n clone() {\n var _a;\n webidl.brandCheck(this, Request2);\n if (this.bodyUsed || ((_a = this.body) == null ? void 0 : _a.locked)) {\n throw new TypeError("unusable");\n }\n const clonedRequest = cloneRequest(this[kState]);\n const clonedRequestObject = new Request2(kInit);\n clonedRequestObject[kState] = clonedRequest;\n clonedRequestObject[kRealm] = this[kRealm];\n clonedRequestObject[kHeaders2] = new Headers3();\n clonedRequestObject[kHeaders2][kHeadersList] = clonedRequest.headersList;\n clonedRequestObject[kHeaders2][kGuard2] = this[kHeaders2][kGuard2];\n clonedRequestObject[kHeaders2][kRealm] = this[kHeaders2][kRealm];\n const ac = new AbortController();\n if (this.signal.aborted) {\n ac.abort(this.signal.reason);\n } else {\n this.signal.addEventListener(\n "abort",\n () => {\n ac.abort(this.signal.reason);\n },\n { once: true }\n );\n }\n clonedRequestObject[kSignal] = ac.signal;\n return clonedRequestObject;\n }\n };\n __name(Request2, "Request");\n mixinBody(Request2);\n function makeRequest(init) {\n const request = {\n method: "GET",\n localURLsOnly: false,\n unsafeRequest: false,\n body: null,\n client: null,\n reservedClient: null,\n replacesClientId: "",\n window: "client",\n keepalive: false,\n serviceWorkers: "all",\n initiator: "",\n destination: "",\n priority: null,\n origin: "client",\n policyContainer: "client",\n referrer: "client",\n referrerPolicy: "",\n mode: "no-cors",\n useCORSPreflightFlag: false,\n credentials: "same-origin",\n useCredentials: false,\n cache: "default",\n redirect: "follow",\n integrity: "",\n cryptoGraphicsNonceMetadata: "",\n parserMetadata: "",\n reloadNavigation: false,\n historyNavigation: false,\n userActivation: false,\n taintedOrigin: false,\n redirectCount: 0,\n responseTainting: "basic",\n preventNoCacheCacheControlHeaderModification: false,\n done: false,\n timingAllowFailed: false,\n ...init,\n headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()\n };\n request.url = request.urlList[0];\n return request;\n }\n __name(makeRequest, "makeRequest");\n function cloneRequest(request) {\n const newRequest = makeRequest({ ...request, body: null });\n if (request.body != null) {\n newRequest.body = cloneBody(request.body);\n }\n return newRequest;\n }\n __name(cloneRequest, "cloneRequest");\n Object.defineProperties(Request2.prototype, {\n method: kEnumerableProperty,\n url: kEnumerableProperty,\n headers: kEnumerableProperty,\n redirect: kEnumerableProperty,\n clone: kEnumerableProperty,\n signal: kEnumerableProperty,\n duplex: kEnumerableProperty,\n destination: kEnumerableProperty,\n body: kEnumerableProperty,\n bodyUsed: kEnumerableProperty,\n isHistoryNavigation: kEnumerableProperty,\n isReloadNavigation: kEnumerableProperty,\n keepalive: kEnumerableProperty,\n integrity: kEnumerableProperty,\n cache: kEnumerableProperty,\n credentials: kEnumerableProperty,\n attribute: kEnumerableProperty,\n referrerPolicy: kEnumerableProperty,\n referrer: kEnumerableProperty,\n mode: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "Request",\n configurable: true\n }\n });\n webidl.converters.Request = webidl.interfaceConverter(\n Request2\n );\n webidl.converters.RequestInfo = function(V) {\n if (typeof V === "string") {\n return webidl.converters.USVString(V);\n }\n if (V instanceof Request2) {\n return webidl.converters.Request(V);\n }\n return webidl.converters.USVString(V);\n };\n webidl.converters.AbortSignal = webidl.interfaceConverter(\n AbortSignal\n );\n webidl.converters.RequestInit = webidl.dictionaryConverter([\n {\n key: "method",\n converter: webidl.converters.ByteString\n },\n {\n key: "headers",\n converter: webidl.converters.HeadersInit\n },\n {\n key: "body",\n converter: webidl.nullableConverter(\n webidl.converters.BodyInit\n )\n },\n {\n key: "referrer",\n converter: webidl.converters.USVString\n },\n {\n key: "referrerPolicy",\n converter: webidl.converters.DOMString,\n // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy\n allowedValues: referrerPolicy\n },\n {\n key: "mode",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#concept-request-mode\n allowedValues: requestMode\n },\n {\n key: "credentials",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcredentials\n allowedValues: requestCredentials\n },\n {\n key: "cache",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestcache\n allowedValues: requestCache\n },\n {\n key: "redirect",\n converter: webidl.converters.DOMString,\n // https://fetch.spec.whatwg.org/#requestredirect\n allowedValues: requestRedirect\n },\n {\n key: "integrity",\n converter: webidl.converters.DOMString\n },\n {\n key: "keepalive",\n converter: webidl.converters.boolean\n },\n {\n key: "signal",\n converter: webidl.nullableConverter(\n (signal) => webidl.converters.AbortSignal(\n signal,\n { strict: false }\n )\n )\n },\n {\n key: "window",\n converter: webidl.converters.any\n },\n {\n key: "duplex",\n converter: webidl.converters.DOMString,\n allowedValues: requestDuplex\n }\n ]);\n module2.exports = { Request: Request2, makeRequest };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher.js\nvar require_dispatcher = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher.js"(exports, module2) {\n "use strict";\n init_define_process();\n var EventEmitter = require("events");\n var Dispatcher = class extends EventEmitter {\n dispatch() {\n throw new Error("not implemented");\n }\n close() {\n throw new Error("not implemented");\n }\n destroy() {\n throw new Error("not implemented");\n }\n };\n __name(Dispatcher, "Dispatcher");\n module2.exports = Dispatcher;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher-base.js\nvar require_dispatcher_base = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/dispatcher-base.js"(exports, module2) {\n "use strict";\n init_define_process();\n var Dispatcher = require_dispatcher();\n var {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError: InvalidArgumentError2\n } = require_errors();\n var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols2();\n var kDestroyed = Symbol("destroyed");\n var kClosed = Symbol("closed");\n var kOnDestroyed = Symbol("onDestroyed");\n var kOnClosed = Symbol("onClosed");\n var kInterceptedDispatch = Symbol("Intercepted Dispatch");\n var DispatcherBase = class extends Dispatcher {\n constructor() {\n super();\n this[kDestroyed] = false;\n this[kOnDestroyed] = null;\n this[kClosed] = false;\n this[kOnClosed] = [];\n }\n get destroyed() {\n return this[kDestroyed];\n }\n get closed() {\n return this[kClosed];\n }\n get interceptors() {\n return this[kInterceptors];\n }\n set interceptors(newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i];\n if (typeof interceptor !== "function") {\n throw new InvalidArgumentError2("interceptor must be an function");\n }\n }\n }\n this[kInterceptors] = newInterceptors;\n }\n close(callback) {\n if (callback === void 0) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data);\n });\n });\n }\n if (typeof callback !== "function") {\n throw new InvalidArgumentError2("invalid callback");\n }\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null));\n return;\n }\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback);\n } else {\n queueMicrotask(() => callback(null, null));\n }\n return;\n }\n this[kClosed] = true;\n this[kOnClosed].push(callback);\n const onClosed = /* @__PURE__ */ __name(() => {\n const callbacks = this[kOnClosed];\n this[kOnClosed] = null;\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null);\n }\n }, "onClosed");\n this[kClose]().then(() => this.destroy()).then(() => {\n queueMicrotask(onClosed);\n });\n }\n destroy(err, callback) {\n if (typeof err === "function") {\n callback = err;\n err = null;\n }\n if (callback === void 0) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err2, data) => {\n return err2 ? (\n /* istanbul ignore next: should never error */\n reject(err2)\n ) : resolve(data);\n });\n });\n }\n if (typeof callback !== "function") {\n throw new InvalidArgumentError2("invalid callback");\n }\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback);\n } else {\n queueMicrotask(() => callback(null, null));\n }\n return;\n }\n if (!err) {\n err = new ClientDestroyedError();\n }\n this[kDestroyed] = true;\n this[kOnDestroyed] = this[kOnDestroyed] || [];\n this[kOnDestroyed].push(callback);\n const onDestroyed = /* @__PURE__ */ __name(() => {\n const callbacks = this[kOnDestroyed];\n this[kOnDestroyed] = null;\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null);\n }\n }, "onDestroyed");\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed);\n });\n }\n [kInterceptedDispatch](opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch];\n return this[kDispatch](opts, handler);\n }\n let dispatch = this[kDispatch].bind(this);\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch);\n }\n this[kInterceptedDispatch] = dispatch;\n return dispatch(opts, handler);\n }\n dispatch(opts, handler) {\n if (!handler || typeof handler !== "object") {\n throw new InvalidArgumentError2("handler must be an object");\n }\n try {\n if (!opts || typeof opts !== "object") {\n throw new InvalidArgumentError2("opts must be an object.");\n }\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError();\n }\n if (this[kClosed]) {\n throw new ClientClosedError();\n }\n return this[kInterceptedDispatch](opts, handler);\n } catch (err) {\n if (typeof handler.onError !== "function") {\n throw new InvalidArgumentError2("invalid onError method");\n }\n handler.onError(err);\n return false;\n }\n }\n };\n __name(DispatcherBase, "DispatcherBase");\n module2.exports = DispatcherBase;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/node/fixed-queue.js\nvar require_fixed_queue = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/node/fixed-queue.js"(exports, module2) {\n "use strict";\n init_define_process();\n var kSize = 2048;\n var kMask = kSize - 1;\n var FixedCircularBuffer = class {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n isEmpty() {\n return this.top === this.bottom;\n }\n isFull() {\n return (this.top + 1 & kMask) === this.bottom;\n }\n push(data) {\n this.list[this.top] = data;\n this.top = this.top + 1 & kMask;\n }\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === void 0)\n return null;\n this.list[this.bottom] = void 0;\n this.bottom = this.bottom + 1 & kMask;\n return nextItem;\n }\n };\n __name(FixedCircularBuffer, "FixedCircularBuffer");\n module2.exports = /* @__PURE__ */ __name(class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n isEmpty() {\n return this.head.isEmpty();\n }\n push(data) {\n if (this.head.isFull()) {\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n this.tail = tail.next;\n }\n return next;\n }\n }, "FixedQueue");\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-stats.js\nvar require_pool_stats = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-stats.js"(exports, module2) {\n init_define_process();\n var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols2();\n var kPool = Symbol("pool");\n var PoolStats = class {\n constructor(pool) {\n this[kPool] = pool;\n }\n get connected() {\n return this[kPool][kConnected];\n }\n get free() {\n return this[kPool][kFree];\n }\n get pending() {\n return this[kPool][kPending];\n }\n get queued() {\n return this[kPool][kQueued];\n }\n get running() {\n return this[kPool][kRunning];\n }\n get size() {\n return this[kPool][kSize];\n }\n };\n __name(PoolStats, "PoolStats");\n module2.exports = PoolStats;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-base.js\nvar require_pool_base = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool-base.js"(exports, module2) {\n "use strict";\n init_define_process();\n var DispatcherBase = require_dispatcher_base();\n var FixedQueue = require_fixed_queue();\n var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols2();\n var PoolStats = require_pool_stats();\n var kClients = Symbol("clients");\n var kNeedDrain = Symbol("needDrain");\n var kQueue = Symbol("queue");\n var kClosedResolve = Symbol("closed resolve");\n var kOnDrain = Symbol("onDrain");\n var kOnConnect = Symbol("onConnect");\n var kOnDisconnect = Symbol("onDisconnect");\n var kOnConnectionError = Symbol("onConnectionError");\n var kGetDispatcher = Symbol("get dispatcher");\n var kAddClient = Symbol("add client");\n var kRemoveClient = Symbol("remove client");\n var kStats = Symbol("stats");\n var PoolBase = class extends DispatcherBase {\n constructor() {\n super();\n this[kQueue] = new FixedQueue();\n this[kClients] = [];\n this[kQueued] = 0;\n const pool = this;\n this[kOnDrain] = /* @__PURE__ */ __name(function onDrain(origin, targets) {\n const queue = pool[kQueue];\n let needDrain = false;\n while (!needDrain) {\n const item = queue.shift();\n if (!item) {\n break;\n }\n pool[kQueued]--;\n needDrain = !this.dispatch(item.opts, item.handler);\n }\n this[kNeedDrain] = needDrain;\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false;\n pool.emit("drain", origin, [pool, ...targets]);\n }\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);\n }\n }, "onDrain");\n this[kOnConnect] = (origin, targets) => {\n pool.emit("connect", origin, [pool, ...targets]);\n };\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit("disconnect", origin, [pool, ...targets], err);\n };\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit("connectionError", origin, [pool, ...targets], err);\n };\n this[kStats] = new PoolStats(this);\n }\n get [kBusy]() {\n return this[kNeedDrain];\n }\n get [kConnected]() {\n return this[kClients].filter((client) => client[kConnected]).length;\n }\n get [kFree]() {\n return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;\n }\n get [kPending]() {\n let ret = this[kQueued];\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending;\n }\n return ret;\n }\n get [kRunning]() {\n let ret = 0;\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running;\n }\n return ret;\n }\n get [kSize]() {\n let ret = this[kQueued];\n for (const { [kSize]: size } of this[kClients]) {\n ret += size;\n }\n return ret;\n }\n get stats() {\n return this[kStats];\n }\n async [kClose]() {\n if (this[kQueue].isEmpty()) {\n return Promise.all(this[kClients].map((c) => c.close()));\n } else {\n return new Promise((resolve) => {\n this[kClosedResolve] = resolve;\n });\n }\n }\n async [kDestroy](err) {\n while (true) {\n const item = this[kQueue].shift();\n if (!item) {\n break;\n }\n item.handler.onError(err);\n }\n return Promise.all(this[kClients].map((c) => c.destroy(err)));\n }\n [kDispatch](opts, handler) {\n const dispatcher = this[kGetDispatcher]();\n if (!dispatcher) {\n this[kNeedDrain] = true;\n this[kQueue].push({ opts, handler });\n this[kQueued]++;\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true;\n this[kNeedDrain] = !this[kGetDispatcher]();\n }\n return !this[kNeedDrain];\n }\n [kAddClient](client) {\n client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);\n this[kClients].push(client);\n if (this[kNeedDrain]) {\n define_process_default.nextTick(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client]);\n }\n });\n }\n return this;\n }\n [kRemoveClient](client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client);\n if (idx !== -1) {\n this[kClients].splice(idx, 1);\n }\n });\n this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);\n }\n };\n __name(PoolBase, "PoolBase");\n module2.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/timers.js\nvar require_timers = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/timers.js"(exports, module2) {\n "use strict";\n init_define_process();\n var fastNow = Date.now();\n var fastNowTimeout;\n var fastTimers = [];\n function onTimeout() {\n fastNow = Date.now();\n let len = fastTimers.length;\n let idx = 0;\n while (idx < len) {\n const timer = fastTimers[idx];\n if (timer.state === 0) {\n timer.state = fastNow + timer.delay;\n } else if (timer.state > 0 && fastNow >= timer.state) {\n timer.state = -1;\n timer.callback(timer.opaque);\n }\n if (timer.state === -1) {\n timer.state = -2;\n if (idx !== len - 1) {\n fastTimers[idx] = fastTimers.pop();\n } else {\n fastTimers.pop();\n }\n len -= 1;\n } else {\n idx += 1;\n }\n }\n if (fastTimers.length > 0) {\n refreshTimeout();\n }\n }\n __name(onTimeout, "onTimeout");\n function refreshTimeout() {\n if (fastNowTimeout && fastNowTimeout.refresh) {\n fastNowTimeout.refresh();\n } else {\n clearTimeout(fastNowTimeout);\n fastNowTimeout = setTimeout(onTimeout, 1e3);\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref();\n }\n }\n }\n __name(refreshTimeout, "refreshTimeout");\n var Timeout = class {\n constructor(callback, delay, opaque) {\n this.callback = callback;\n this.delay = delay;\n this.opaque = opaque;\n this.state = -2;\n this.refresh();\n }\n refresh() {\n if (this.state === -2) {\n fastTimers.push(this);\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout();\n }\n }\n this.state = 0;\n }\n clear() {\n this.state = -1;\n }\n };\n __name(Timeout, "Timeout");\n module2.exports = {\n setTimeout(callback, delay, opaque) {\n return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);\n },\n clearTimeout(timeout) {\n if (timeout instanceof Timeout) {\n timeout.clear();\n } else {\n clearTimeout(timeout);\n }\n }\n };\n }\n});\n\n// src/patches/undici-core-request.js\nvar require_undici_core_request = __commonJS({\n "src/patches/undici-core-request.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var assert = require("assert");\n var util = require_util();\n var tokenRegExp = /^[\\^_`a-zA-Z\\-0-9!#$%&\'*+.|~]+$/;\n var headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/;\n var invalidPathRegex = /[^\\u0021-\\u00ff]/;\n var kHandler = Symbol("handler");\n var channels = {};\n var extractBody;\n try {\n const diagnosticsChannel = require("diagnostics_channel");\n channels.create = diagnosticsChannel.channel("undici:request:create");\n channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent");\n channels.headers = diagnosticsChannel.channel("undici:request:headers");\n channels.trailers = diagnosticsChannel.channel("undici:request:trailers");\n channels.error = diagnosticsChannel.channel("undici:request:error");\n } catch {\n channels.create = { hasSubscribers: false };\n channels.bodySent = { hasSubscribers: false };\n channels.headers = { hasSubscribers: false };\n channels.trailers = { hasSubscribers: false };\n channels.error = { hasSubscribers: false };\n }\n var Request2 = class {\n constructor(origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError\n }, handler) {\n if (typeof path !== "string") {\n throw new InvalidArgumentError2("path must be a string");\n } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") {\n throw new InvalidArgumentError2(\n "path must be an absolute URL or start with a slash"\n );\n } else if (invalidPathRegex.exec(path) !== null) {\n throw new InvalidArgumentError2("invalid request path");\n }\n if (typeof method !== "string") {\n throw new InvalidArgumentError2("method must be a string");\n } else if (tokenRegExp.exec(method) === null) {\n throw new InvalidArgumentError2("invalid request method");\n }\n if (upgrade && typeof upgrade !== "string") {\n throw new InvalidArgumentError2("upgrade must be a string");\n }\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError2("invalid headersTimeout");\n }\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError2("invalid bodyTimeout");\n }\n if (reset != null && typeof reset !== "boolean") {\n throw new InvalidArgumentError2("invalid reset");\n }\n this.headersTimeout = headersTimeout;\n this.bodyTimeout = bodyTimeout;\n this.throwOnError = throwOnError === true;\n this.method = method;\n if (body == null) {\n this.body = null;\n } else if (util.isStream(body)) {\n this.body = body;\n } else if (util.isBuffer(body)) {\n this.body = body.byteLength ? body : null;\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null;\n } else if (typeof body === "string") {\n this.body = body.length ? Buffer.from(body) : null;\n } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {\n this.body = body;\n } else {\n throw new InvalidArgumentError2(\n "body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"\n );\n }\n this.completed = false;\n this.aborted = false;\n this.upgrade = upgrade || null;\n this.path = query ? util.buildURL(path, query) : path;\n this.origin = origin;\n this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;\n this.blocking = blocking == null ? false : blocking;\n this.reset = reset == null ? null : reset;\n this.host = null;\n this.contentLength = null;\n this.contentType = null;\n this.headers = "";\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError2("headers array must be even");\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1]);\n }\n } else if (headers && typeof headers === "object") {\n const keys = Object.keys(headers);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n processHeader(this, key, headers[key]);\n }\n } else if (headers != null) {\n throw new InvalidArgumentError2("headers must be an object or an array");\n }\n if (util.isFormDataLike(this.body)) {\n if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) {\n throw new InvalidArgumentError2(\n "Form-Data bodies are only supported in node v16.8 and newer."\n );\n }\n if (!extractBody) {\n extractBody = require_body().extractBody;\n }\n const [bodyStream, contentType] = extractBody(body);\n if (this.contentType == null) {\n this.contentType = contentType;\n this.headers += `content-type: ${contentType}\\r\n`;\n }\n this.body = bodyStream.stream;\n this.contentLength = bodyStream.length;\n } else if (util.isBlobLike(body) && this.contentType == null && body.type) {\n this.contentType = body.type;\n this.headers += `content-type: ${body.type}\\r\n`;\n }\n util.validateHandler(handler, method, upgrade);\n this.servername = util.getServerName(this.host);\n this[kHandler] = handler;\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this });\n }\n }\n onBodySent(chunk) {\n if (this[kHandler].onBodySent) {\n try {\n this[kHandler].onBodySent(chunk);\n } catch (err) {\n this.onError(err);\n }\n }\n }\n onRequestSent() {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this });\n }\n }\n onConnect(abort) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onConnect(abort);\n }\n onHeaders(statusCode, headers, resume, statusText) {\n assert(!this.aborted);\n assert(!this.completed);\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({\n request: this,\n response: { statusCode, headers, statusText }\n });\n }\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText);\n }\n onData(chunk) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onData(chunk);\n }\n onUpgrade(statusCode, headers, socket) {\n assert(!this.aborted);\n assert(!this.completed);\n return this[kHandler].onUpgrade(statusCode, headers, socket);\n }\n onComplete(trailers) {\n assert(!this.aborted);\n this.completed = true;\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers });\n }\n return this[kHandler].onComplete(trailers);\n }\n onError(error) {\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error });\n }\n if (this.aborted) {\n return;\n }\n this.aborted = true;\n return this[kHandler].onError(error);\n }\n addHeader(key, value) {\n processHeader(this, key, value);\n return this;\n }\n };\n __name(Request2, "Request");\n function processHeaderValue(key, val) {\n if (val && typeof val === "object") {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n }\n val = val != null ? `${val}` : "";\n if (headerCharRegex.exec(val) !== null) {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n }\n return `${key}: ${val}\\r\n`;\n }\n __name(processHeaderValue, "processHeaderValue");\n function processHeader(request, key, val) {\n if (val && typeof val === "object" && !Array.isArray(val)) {\n throw new InvalidArgumentError2(`invalid ${key} header`);\n } else if (val === void 0) {\n return;\n }\n if (request.host === null && key.length === 4 && key.toLowerCase() === "host") {\n request.host = val;\n } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") {\n request.contentLength = parseInt(val, 10);\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError2("invalid content-length header");\n }\n } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") {\n request.contentType = val;\n request.headers += processHeaderValue(key, val);\n } else {\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n request.headers += processHeaderValue(key, val[i]);\n }\n } else {\n request.headers += processHeaderValue(key, val);\n }\n }\n }\n __name(processHeader, "processHeader");\n module2.exports = Request2;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/connect.js\nvar require_connect = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/core/connect.js"(exports, module2) {\n "use strict";\n init_define_process();\n var net = require("net");\n var assert = require("assert");\n var util = require_util();\n var { InvalidArgumentError: InvalidArgumentError2, ConnectTimeoutError } = require_errors();\n var tls;\n var SessionCache;\n if (global.FinalizationRegistry) {\n SessionCache = /* @__PURE__ */ __name(class WeakSessionCache {\n constructor(maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions;\n this._sessionCache = /* @__PURE__ */ new Map();\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return;\n }\n const ref = this._sessionCache.get(key);\n if (ref !== void 0 && ref.deref() === void 0) {\n this._sessionCache.delete(key);\n }\n });\n }\n get(sessionKey) {\n const ref = this._sessionCache.get(sessionKey);\n return ref ? ref.deref() : null;\n }\n set(sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return;\n }\n this._sessionCache.set(sessionKey, new WeakRef(session));\n this._sessionRegistry.register(session, sessionKey);\n }\n }, "WeakSessionCache");\n } else {\n SessionCache = /* @__PURE__ */ __name(class SimpleSessionCache {\n constructor(maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions;\n this._sessionCache = /* @__PURE__ */ new Map();\n }\n get(sessionKey) {\n return this._sessionCache.get(sessionKey);\n }\n set(sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return;\n }\n if (this._sessionCache.size >= this._maxCachedSessions) {\n const { value: oldestKey } = this._sessionCache.keys().next();\n this._sessionCache.delete(oldestKey);\n }\n this._sessionCache.set(sessionKey, session);\n }\n }, "SimpleSessionCache");\n }\n function buildConnector({ maxCachedSessions, socketPath, timeout, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError2("maxCachedSessions must be a positive integer or zero");\n }\n const options = { path: socketPath, ...opts };\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);\n timeout = timeout == null ? 1e4 : timeout;\n return /* @__PURE__ */ __name(function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket;\n if (protocol === "https:") {\n if (!tls) {\n tls = require("tls");\n }\n servername = servername || options.servername || util.getServerName(host) || null;\n const sessionKey = servername || hostname;\n const session = sessionCache.get(sessionKey) || null;\n assert(sessionKey);\n socket = tls.connect({\n highWaterMark: 16384,\n // TLS in node can\'t have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n socket: httpSocket,\n // upgrade socket connection\n port: port || 443,\n host: hostname\n });\n socket.on("session", function(session2) {\n sessionCache.set(sessionKey, session2);\n });\n } else {\n assert(!httpSocket, "httpSocket can only be sent on TLS update");\n socket = net.connect({\n highWaterMark: 64 * 1024,\n // Same as nodejs fs streams.\n ...options,\n localAddress,\n port: port || 80,\n host: hostname\n });\n }\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;\n socket.setKeepAlive(true, keepAliveInitialDelay);\n }\n const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);\n socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {\n cancelTimeout();\n if (callback) {\n const cb = callback;\n callback = null;\n cb(null, this);\n }\n }).on("error", function(err) {\n cancelTimeout();\n if (callback) {\n const cb = callback;\n callback = null;\n cb(err);\n }\n });\n return socket;\n }, "connect");\n }\n __name(buildConnector, "buildConnector");\n function setupTimeout(onConnectTimeout2, timeout) {\n if (!timeout) {\n return () => {\n };\n }\n let s1 = null;\n let s2 = null;\n const timeoutId = setTimeout(() => {\n s1 = setImmediate(() => {\n if (define_process_default.platform === "win32") {\n s2 = setImmediate(() => onConnectTimeout2());\n } else {\n onConnectTimeout2();\n }\n });\n }, timeout);\n return () => {\n clearTimeout(timeoutId);\n clearImmediate(s1);\n clearImmediate(s2);\n };\n }\n __name(setupTimeout, "setupTimeout");\n function onConnectTimeout(socket) {\n util.destroy(socket, new ConnectTimeoutError());\n }\n __name(onConnectTimeout, "onConnectTimeout");\n module2.exports = buildConnector;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/utils.js\nvar require_utils2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/utils.js"(exports) {\n "use strict";\n init_define_process();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.enumToMap = void 0;\n function enumToMap(obj) {\n const res = {};\n Object.keys(obj).forEach((key) => {\n const value = obj[key];\n if (typeof value === "number") {\n res[key] = value;\n }\n });\n return res;\n }\n __name(enumToMap, "enumToMap");\n exports.enumToMap = enumToMap;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/constants.js\nvar require_constants2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/constants.js"(exports) {\n "use strict";\n init_define_process();\n Object.defineProperty(exports, "__esModule", { value: true });\n exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;\n var utils_1 = require_utils2();\n var ERROR;\n (function(ERROR2) {\n ERROR2[ERROR2["OK"] = 0] = "OK";\n ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";\n ERROR2[ERROR2["STRICT"] = 2] = "STRICT";\n ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";\n ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";\n ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";\n ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";\n ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";\n ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";\n ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";\n ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";\n ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";\n ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";\n ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";\n ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";\n ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";\n ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";\n ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";\n ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";\n ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";\n ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";\n ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";\n ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";\n ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";\n ERROR2[ERROR2["USER"] = 24] = "USER";\n })(ERROR = exports.ERROR || (exports.ERROR = {}));\n var TYPE;\n (function(TYPE2) {\n TYPE2[TYPE2["BOTH"] = 0] = "BOTH";\n TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";\n TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";\n })(TYPE = exports.TYPE || (exports.TYPE = {}));\n var FLAGS;\n (function(FLAGS2) {\n FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";\n FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";\n FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";\n FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";\n FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";\n FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";\n FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";\n FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";\n FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";\n })(FLAGS = exports.FLAGS || (exports.FLAGS = {}));\n var LENIENT_FLAGS;\n (function(LENIENT_FLAGS2) {\n LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";\n LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";\n LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";\n })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));\n var METHODS;\n (function(METHODS2) {\n METHODS2[METHODS2["DELETE"] = 0] = "DELETE";\n METHODS2[METHODS2["GET"] = 1] = "GET";\n METHODS2[METHODS2["HEAD"] = 2] = "HEAD";\n METHODS2[METHODS2["POST"] = 3] = "POST";\n METHODS2[METHODS2["PUT"] = 4] = "PUT";\n METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";\n METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";\n METHODS2[METHODS2["TRACE"] = 7] = "TRACE";\n METHODS2[METHODS2["COPY"] = 8] = "COPY";\n METHODS2[METHODS2["LOCK"] = 9] = "LOCK";\n METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";\n METHODS2[METHODS2["MOVE"] = 11] = "MOVE";\n METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";\n METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";\n METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";\n METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";\n METHODS2[METHODS2["BIND"] = 16] = "BIND";\n METHODS2[METHODS2["REBIND"] = 17] = "REBIND";\n METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";\n METHODS2[METHODS2["ACL"] = 19] = "ACL";\n METHODS2[METHODS2["REPORT"] = 20] = "REPORT";\n METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";\n METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";\n METHODS2[METHODS2["MERGE"] = 23] = "MERGE";\n METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";\n METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";\n METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";\n METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";\n METHODS2[METHODS2["PATCH"] = 28] = "PATCH";\n METHODS2[METHODS2["PURGE"] = 29] = "PURGE";\n METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";\n METHODS2[METHODS2["LINK"] = 31] = "LINK";\n METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";\n METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";\n METHODS2[METHODS2["PRI"] = 34] = "PRI";\n METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";\n METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";\n METHODS2[METHODS2["SETUP"] = 37] = "SETUP";\n METHODS2[METHODS2["PLAY"] = 38] = "PLAY";\n METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";\n METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";\n METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";\n METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";\n METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";\n METHODS2[METHODS2["RECORD"] = 44] = "RECORD";\n METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";\n })(METHODS = exports.METHODS || (exports.METHODS = {}));\n exports.METHODS_HTTP = [\n METHODS.DELETE,\n METHODS.GET,\n METHODS.HEAD,\n METHODS.POST,\n METHODS.PUT,\n METHODS.CONNECT,\n METHODS.OPTIONS,\n METHODS.TRACE,\n METHODS.COPY,\n METHODS.LOCK,\n METHODS.MKCOL,\n METHODS.MOVE,\n METHODS.PROPFIND,\n METHODS.PROPPATCH,\n METHODS.SEARCH,\n METHODS.UNLOCK,\n METHODS.BIND,\n METHODS.REBIND,\n METHODS.UNBIND,\n METHODS.ACL,\n METHODS.REPORT,\n METHODS.MKACTIVITY,\n METHODS.CHECKOUT,\n METHODS.MERGE,\n METHODS["M-SEARCH"],\n METHODS.NOTIFY,\n METHODS.SUBSCRIBE,\n METHODS.UNSUBSCRIBE,\n METHODS.PATCH,\n METHODS.PURGE,\n METHODS.MKCALENDAR,\n METHODS.LINK,\n METHODS.UNLINK,\n METHODS.PRI,\n // TODO(indutny): should we allow it with HTTP?\n METHODS.SOURCE\n ];\n exports.METHODS_ICE = [\n METHODS.SOURCE\n ];\n exports.METHODS_RTSP = [\n METHODS.OPTIONS,\n METHODS.DESCRIBE,\n METHODS.ANNOUNCE,\n METHODS.SETUP,\n METHODS.PLAY,\n METHODS.PAUSE,\n METHODS.TEARDOWN,\n METHODS.GET_PARAMETER,\n METHODS.SET_PARAMETER,\n METHODS.REDIRECT,\n METHODS.RECORD,\n METHODS.FLUSH,\n // For AirPlay\n METHODS.GET,\n METHODS.POST\n ];\n exports.METHOD_MAP = utils_1.enumToMap(METHODS);\n exports.H_METHOD_MAP = {};\n Object.keys(exports.METHOD_MAP).forEach((key) => {\n if (/^H/.test(key)) {\n exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];\n }\n });\n var FINISH;\n (function(FINISH2) {\n FINISH2[FINISH2["SAFE"] = 0] = "SAFE";\n FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";\n FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";\n })(FINISH = exports.FINISH || (exports.FINISH = {}));\n exports.ALPHA = [];\n for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {\n exports.ALPHA.push(String.fromCharCode(i));\n exports.ALPHA.push(String.fromCharCode(i + 32));\n }\n exports.NUM_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9\n };\n exports.HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15\n };\n exports.NUM = [\n "0",\n "1",\n "2",\n "3",\n "4",\n "5",\n "6",\n "7",\n "8",\n "9"\n ];\n exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);\n exports.MARK = ["-", "_", ".", "!", "~", "*", "\'", "(", ")"];\n exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);\n exports.STRICT_URL_CHAR = [\n "!",\n \'"\',\n "$",\n "%",\n "&",\n "\'",\n "(",\n ")",\n "*",\n "+",\n ",",\n "-",\n ".",\n "/",\n ":",\n ";",\n "<",\n "=",\n ">",\n "@",\n "[",\n "\\\\",\n "]",\n "^",\n "_",\n "`",\n "{",\n "|",\n "}",\n "~"\n ].concat(exports.ALPHANUM);\n exports.URL_CHAR = exports.STRICT_URL_CHAR.concat(["\t", "\\f"]);\n for (let i = 128; i <= 255; i++) {\n exports.URL_CHAR.push(i);\n }\n exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);\n exports.STRICT_TOKEN = [\n "!",\n "#",\n "$",\n "%",\n "&",\n "\'",\n "*",\n "+",\n "-",\n ".",\n "^",\n "_",\n "`",\n "|",\n "~"\n ].concat(exports.ALPHANUM);\n exports.TOKEN = exports.STRICT_TOKEN.concat([" "]);\n exports.HEADER_CHARS = ["\t"];\n for (let i = 32; i <= 255; i++) {\n if (i !== 127) {\n exports.HEADER_CHARS.push(i);\n }\n }\n exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);\n exports.MAJOR = exports.NUM_MAP;\n exports.MINOR = exports.MAJOR;\n var HEADER_STATE;\n (function(HEADER_STATE2) {\n HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";\n HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";\n HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";\n HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";\n HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";\n HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";\n HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";\n })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));\n exports.SPECIAL_HEADERS = {\n "connection": HEADER_STATE.CONNECTION,\n "content-length": HEADER_STATE.CONTENT_LENGTH,\n "proxy-connection": HEADER_STATE.CONNECTION,\n "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,\n "upgrade": HEADER_STATE.UPGRADE\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/handler/RedirectHandler.js\nvar require_RedirectHandler = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) {\n "use strict";\n init_define_process();\n var util = require_util();\n var { kBodyUsed } = require_symbols2();\n var assert = require("assert");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var EE = require("events");\n var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];\n var kBody = Symbol("body");\n var BodyAsyncIterable = class {\n constructor(body) {\n this[kBody] = body;\n this[kBodyUsed] = false;\n }\n async *[Symbol.asyncIterator]() {\n assert(!this[kBodyUsed], "disturbed");\n this[kBodyUsed] = true;\n yield* this[kBody];\n }\n };\n __name(BodyAsyncIterable, "BodyAsyncIterable");\n var RedirectHandler = class {\n constructor(dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n util.validateHandler(handler, opts.method, opts.upgrade);\n this.dispatch = dispatch;\n this.location = null;\n this.abort = null;\n this.opts = { ...opts, maxRedirections: 0 };\n this.maxRedirections = maxRedirections;\n this.handler = handler;\n this.history = [];\n if (util.isStream(this.opts.body)) {\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body.on("data", function() {\n assert(false);\n });\n }\n if (typeof this.opts.body.readableDidRead !== "boolean") {\n this.opts.body[kBodyUsed] = false;\n EE.prototype.on.call(this.opts.body, "data", function() {\n this[kBodyUsed] = true;\n });\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {\n this.opts.body = new BodyAsyncIterable(this.opts.body);\n } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {\n this.opts.body = new BodyAsyncIterable(this.opts.body);\n }\n }\n onConnect(abort) {\n this.abort = abort;\n this.handler.onConnect(abort, { history: this.history });\n }\n onUpgrade(statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket);\n }\n onError(error) {\n this.handler.onError(error);\n }\n onHeaders(statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin));\n }\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText);\n }\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));\n const path = search ? `${pathname}${search}` : pathname;\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);\n this.opts.path = path;\n this.opts.origin = origin;\n this.opts.maxRedirections = 0;\n this.opts.query = null;\n if (statusCode === 303 && this.opts.method !== "HEAD") {\n this.opts.method = "GET";\n this.opts.body = null;\n }\n }\n onData(chunk) {\n if (this.location) {\n } else {\n return this.handler.onData(chunk);\n }\n }\n onComplete(trailers) {\n if (this.location) {\n this.location = null;\n this.abort = null;\n this.dispatch(this.opts, this);\n } else {\n this.handler.onComplete(trailers);\n }\n }\n onBodySent(chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk);\n }\n }\n };\n __name(RedirectHandler, "RedirectHandler");\n function parseLocation(statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null;\n }\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toString().toLowerCase() === "location") {\n return headers[i + 1];\n }\n }\n }\n __name(parseLocation, "parseLocation");\n function shouldRemoveHeader(header, removeContent, unknownOrigin) {\n return header.length === 4 && header.toString().toLowerCase() === "host" || removeContent && header.toString().toLowerCase().indexOf("content-") === 0 || unknownOrigin && header.length === 13 && header.toString().toLowerCase() === "authorization" || unknownOrigin && header.length === 6 && header.toString().toLowerCase() === "cookie";\n }\n __name(shouldRemoveHeader, "shouldRemoveHeader");\n function cleanRequestHeaders(headers, removeContent, unknownOrigin) {\n const ret = [];\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1]);\n }\n }\n } else if (headers && typeof headers === "object") {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key]);\n }\n }\n } else {\n assert(headers == null, "headers must be an object or an array");\n }\n return ret;\n }\n __name(cleanRequestHeaders, "cleanRequestHeaders");\n module2.exports = RedirectHandler;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/interceptor/redirectInterceptor.js\nvar require_redirectInterceptor = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) {\n "use strict";\n init_define_process();\n var RedirectHandler = require_RedirectHandler();\n function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return /* @__PURE__ */ __name(function Intercept(opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts;\n if (!maxRedirections) {\n return dispatch(opts, handler);\n }\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler);\n opts = { ...opts, maxRedirections: 0 };\n return dispatch(opts, redirectHandler);\n }, "Intercept");\n };\n }\n __name(createRedirectInterceptor, "createRedirectInterceptor");\n module2.exports = createRedirectInterceptor;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp-wasm.js\nvar require_llhttp_wasm = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) {\n init_define_process();\n module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAAMBBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCtnkAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQy4CAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDLgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMuAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMuAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL8gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARBCHENAAJAIARBgARxRQ0AAkAgAC0AKEEBRw0AIAAtAC1BCnENAEEFDwtBBA8LAkAgBEEgcQ0AAkAgAC0AKEEBRg0AIAAvATIiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQYgEcUGABEYNAiAEQShxRQ0CC0EADwtBAEEDIAApAyBQGyEFCyAFC10BAn9BACEBAkAgAC0AKEEBRg0AIAAvATIiAkGcf2pB5ABJDQAgAkHMAUYNACACQbACRg0AIAAvATAiAEHAAHENAEEBIQEgAEGIBHFBgARGDQAgAEEocUUhAQsgAQuiAQEDfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEDIAAvATAiBEECcUUNAQwCC0EAIQMgAC8BMCIEQQFxRQ0BC0EBIQMgAC0AKEEBRg0AIAAvATIiBUGcf2pB5ABJDQAgBUHMAUYNACAFQbACRg0AIARBwABxDQBBACEDIARBiARxQYAERg0AIARBKHFBAEchAwsgAEEAOwEwIABBADoALyADC5QBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQEgAC8BMCICQQJxRQ0BDAILQQAhASAALwEwIgJBAXFFDQELQQEhASAALQAoQQFGDQAgAC8BMiIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvc9wEDKH8DfgV/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8gASEQIAEhESABIRIgASETIAEhFCABIRUgASEWIAEhFyABIRggASEZIAEhGiABIRsgASEcIAEhHSABIR4gASEfIAEhICABISEgASEiIAEhIyABISQgASElIAEhJiABIScgASEoIAEhKQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIipBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4B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AQtBwQEhKgsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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UGoON+cB5gEBAgMEBQYHCAAAAAAAAAAJCgsMDQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QERITFAALQR4hKgzEAwtCAiErDOUBC0IDISsM5AELQgQhKwzjAQtCBSErDOIBC0IGISsM4QELQgchKwzgAQtCCCErDN8BC0IJISsM3gELQgohKwzdAQtCCyErDNwBC0IMISsM2wELQg0hKwzaAQtCDiErDNkBC0IPISsM2AELQgohKwzXAQtCCyErDNYBC0IMISsM1QELQg0hKwzUAQtCDiErDNMBC0IPISsM0gELQgAhKwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKi0AAEFQag435QHkAQABAgMEBQYH5gHmAeYB5gHmAeYB5gEICQoLDA3mAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYBDg8QERIT5gELQgIhKwzkAQtCAyErDOMBC0IEISsM4gELQgUhKwzhAQtCBiErDOABC0IHISsM3wELQgghKwzeAQtCCSErDN0BC0IKISsM3AELQgshKwzbAQtCDCErDNoBC0INISsM2QELQg4hKwzYAQtCDyErDNcBC0IKISsM1gELQgshKwzVAQtCDCErDNQBC0INISsM0wELQg4hKwzSAQtCDyErDNEBCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDdIBQR8hKgzHAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBJCEqDK4DC0EgISoMxgMLIAAgASIqIAIQvoCAgABBf2oOBbYBAMsCAdEB0gELQREhKgyrAwsgAEEBOgAvICohAQzCAwsgASIBIAJHDdIBQSQhKgzCAwsgASInIAJHDR5BxgAhKgzBAwsgACABIgEgAhCygICAACIqDdQBIAEhAQy1AQsgASIqIAJHDSZB0AAhKgy/AwsCQCABIgEgAkcNAEEoISoMvwMLIABBADYCBCAAQYyAgIAANgIIIAAgASABELGAgIAAIioN0wEgASEBDNgBCwJAIAEiKiACRw0AQSkhKgy+AwsgKi0AACIBQSBGDRQgAUEJRw3TASAqQQFqIQEMFQsCQCABIgEgAkYNACABQQFq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AUEBaiEBIARBAWoiBCACRw0ACyAAICo2AgBBgwEhKgzoAgtBACEqIABBADYCACAuIDJrQQNqIQEMygELAkAgASIqIAJHDQBBhAEhKgznAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQYPPgIAAai0AAEcNzAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYQBISoM5wILIABBADYCACAqIC5rQQVqIQFBIyEqDMkBCwJAIAEiBCACRw0AQYUBISoM5gILAkACQCAELQAAQbR/ag4IAMwBzAHMAcwBzAHMAQHMAQsgBEEBaiEBQe8AISoMzQILIARBAWohAUHwACEqDMwCCwJAIAEiBCACRw0AQYYBISoM5QILIAQtAABBxQBHDckBIARBAWohAQyKAgsCQCABIiogAkcNAEGHASEqDOQCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBiM+AgABqLQAARw3JASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBhwEhKgzkAgsgAEEANgIAICogLmtBBGohAUEtISoMxgELAkAgASIqIAJHDQBBiAEhKgzjAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQdDPgIAAai0AAEcNyAEgAUEIRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYgBISoM4wILIABBADYCACAqIC5rQQlqIQFBKSEqDMUBCwJAIAEiASACRw0AQYkBISoM4gILQQEhKiABLQAAQd8ARw3EASABQQFqIQEMiAILAkAgASIqIAJHDQBBigEhKgzhAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQNAIAQtAAAgAUGMz4CAAGotAABHDcUBIAFBAUYNtwIgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBigEhKgzgAgsCQCABIiogAkcNAEGLASEqDOACCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBjs+AgABqLQAARw3FASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBiwEhKgzgAgsgAEEANgIAICogLmtBA2ohAUECISoMwgELAkAgASIqIAJHDQBBjAEhKgzfAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQfDPgIAAai0AAEcNxAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYwBISoM3wILIABBADYCACAqIC5rQQJqIQFBHyEqDMEBCwJAIAEiKiACRw0AQY0BISoM3gILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUHyz4CAAGotAABHDcMBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGNASEqDN4CCyAAQQA2AgAgKiAua0ECaiEBQQkhKgzAAQsCQCABIgQgAkcNAEGOASEqDN0CCwJAAkAgBC0AAEG3f2oOBwDDAcMBwwHDAcMBAcMBCyAEQQFqIQFB+AAhKgzEAgsgBEEBaiEBQfkAISoMwwILAkAgASIqIAJHDQBBjwEhKgzcAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQZHPgIAAai0AAEcNwQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQY8BISoM3AILIABBADYCACAqIC5rQQZqIQFBGCEqDL4BCwJAIAEiKiACRw0AQZABISoM2wILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGXz4CAAGotAABHDcABIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGQASEqDNsCCyAAQQA2AgAgKiAua0EDaiEBQRchKgy9AQsCQCABIiogAkcNAEGRASEqDNoCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBms+AgABqLQAARw2/ASABQQZGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBkQEhKgzaAgsgAEEANgIAICogLmtBB2ohAUEVISoMvAELAkAgASIqIAJHDQBBkgEhKgzZAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQaHPgIAAai0AAEcNvgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQZIBISoM2QILIABBADYCACAqIC5rQQZqIQFBHiEqDLsBCwJAIAEiBCACRw0AQZMBISoM2AILIAQtAABBzABHDbwBIARBAWohAUEKISoMugELAkAgBCACRw0AQZQBISoM1wILAkACQCAELQAAQb9/ag4PAL0BvQG9Ab0BvQG9Ab0BvQG9Ab0BvQG9Ab0BAb0BCyAEQQFqIQFB/gAhKgy+AgsgBEEBaiEBQf8AISoMvQILAkAgBCACRw0AQZUBISoM1gILAkACQCAELQAAQb9/ag4DALwBAbwBCyAEQQFqIQFB/QAhKgy9AgsgBEEBaiEEQYABISoMvAILAkAgBSACRw0AQZYBISoM1QILIAIgBWsgACgCACIqaiEuIAUhBCAqIQECQANAIAQtAAAgAUGnz4CAAGotAABHDboBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGWASEqDNUCCyAAQQA2AgAgBSAqa0ECaiEBQQshKgy3AQsCQCAEIAJHDQBBlwEhKgzUAgsCQAJAAkACQCAELQAAQVNqDiMAvAG8AbwBvAG8AbwBvAG8AbwBvAG8AbwBvAG8AbwBvAG8AbwBvAG8AbwBvAG8AQG8AbwBvAG8AbwBArwBvAG8AQO8AQsgBEEBaiEBQfsAISoMvQILIARBAWohAUH8ACEqDLwCCyAEQQFqIQRBgQEhKgy7AgsgBEEBaiEFQYIBISoMugILAkAgBiACRw0AQZgBISoM0wILIAIgBmsgACgCACIqaiEuIAYhBCAqIQECQANAIAQtAAAgAUGpz4CAAGotAABHDbgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGYASEqDNMCCyAAQQA2AgAgBiAqa0EFaiEBQRkhKgy1AQsCQCAHIAJHDQBBmQEhKgzSAgsgAiAHayAAKAIAIi5qISogByEEIC4hAQJAA0AgBC0AACABQa7PgIAAai0AAEcNtwEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAqNgIAQZkBISoM0gILIABBADYCAEEGISogByAua0EGaiEBDLQBCwJAIAggAkcNAEGaASEqDNECCyACIAhrIAAoAgAiKmohLiAIIQQgKiEBAkADQCAELQAAIAFBtM+AgABqLQAARw22ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBmgEhKgzRAgsgAEEANgIAIAggKmtBAmohAUEcISoMswELAkAgCSACRw0AQZsBISoM0AILIAIgCWsgACgCACIqaiEuIAkhBCAqIQECQANAIAQtAAAgAUG2z4CAAGotAABHDbUBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGbASEqDNACCyAAQQA2AgAgCSAqa0ECaiEBQSchKgyyAQsCQCAEIAJHDQBBnAEhKgzPAgsCQAJAIAQtAABBrH9qDgIAAbUBCyAEQQFqIQhBhgEhKgy2AgsgBEEBaiEJQYcBISoMtQILAkAgCiACRw0AQZ0BISoMzgILIAIgCmsgACgCACIqaiEuIAohBCAqIQECQANAIAQtAAAgAUG4z4CAAGotAABHDbMBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGdASEqDM4CCyAAQQA2AgAgCiAqa0ECaiEBQSYhKgywAQsCQCALIAJHDQBBngEhKgzNAgsgAiALayAAKAIAIipqIS4gCyEEICohAQJAA0AgBC0AACABQbrPgIAAai0AAEcNsgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQZ4BISoMzQILIABBADYCACALICprQQJqIQFBAyEqDK8BCwJAIAwgAkcNAEGfASEqDMwCCyACIAxrIAAoAgAiKmohLiAMIQQgKiEBAkADQCAELQAAIAFB7c+AgABqLQAARw2xASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBnwEhKgzMAgsgAEEANgIAIAwgKmtBA2ohAUEMISoMrgELAkAgDSACRw0AQaABISoMywILIAIgDWsgACgCACIqaiEuIA0hBCAqIQECQANAIAQtAAAgAUG8z4CAAGotAABHDbABIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGgASEqDMsCCyAAQQA2AgAgDSAqa0EEaiEBQQ0hKgytAQsCQCAEIAJHDQBBoQEhKgzKAgsCQAJAIAQtAABBun9qDgsAsAGwAbABsAGwAbABsAGwAbABAbABCyAEQQFqIQxBiwEhKgyxAgsgBEEBaiENQYwBISoMsAILAkAgBCACRw0AQaIBISoMyQILIAQtAABB0ABHDa0BIARBAWohBAzwAQsCQCAEIAJHDQBBowEhKgzIAgsCQAJAIAQtAABBt39qDgcBrgGuAa4BrgGuAQCuAQsgBEEBaiEEQY4BISoMrwILIARBAWohAUEiISoMqgELAkAgDiACRw0AQaQBISoMxwILIAIgDmsgACgCACIqaiEuIA4hBCAqIQECQANAIAQtAAAgAUHAz4CAAGotAABHDawBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGkASEqDMcCCyAAQQA2AgAgDiAqa0ECaiEBQR0hKgypAQsCQCAEIAJHDQBBpQEhKgzGAgsCQAJAIAQtAABBrn9qDgMArAEBrAELIARBAWohDkGQASEqDK0CCyAEQQFqIQFBBCEqDKgBCwJAIAQgAkcNAEGmASEqDMUCCwJAAkACQAJAAkAgBC0AAEG/f2oOFQCuAa4BrgGuAa4BrgGuAa4BrgGuAQGuAa4BAq4BrgEDrgGuAQSuAQsgBEEBaiEEQYgBISoMrwILIARBAWohCkGJASEqDK4CCyAEQQFqIQtBigEhKgytAgsgBEEBaiEEQY8BISoMrAILIARBAWohBEGRASEqDKsCCwJAIA8gAkcNAEGnASEqDMQCCyACIA9rIAAoAgAiKmohLiAPIQQgKiEBAkADQCAELQAAIAFB7c+AgABqLQAARw2pASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBpwEhKgzEAgsgAEEANgIAIA8gKmtBA2ohAUERISoMpgELAkAgECACRw0AQagBISoMwwILIAIgEGsgACgCACIqaiEuIBAhBCAqIQECQANAIAQtAAAgAUHCz4CAAGotAABHDagBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEGoASEqDMMCCyAAQQA2AgAgECAqa0EDaiEBQSwhKgylAQsCQCARIAJHDQBBqQEhKgzCAgsgAiARayAAKAIAIipqIS4gESEEICohAQJAA0AgBC0AACABQcXPgIAAai0AAEcNpwEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQakBISoMwgILIABBADYCACARICprQQVqIQFBKyEqDKQBCwJAIBIgAkcNAEGqASEqDMECCyACIBJrIAAoAgAiKmohLiASIQQgKiEBAkADQCAELQAAIAFBys+AgABqLQAARw2mASABQQJGDQEgAUEBaiEB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8s+AgABqLQAARw2WASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBugEhKgyxAgsgAEEANgIAIBsgKmtBAmohAUEPISoMkwELAkAgBCACRw0AQbsBISoMsAILAkACQCAELQAAQbd/ag4HAJYBlgGWAZYBlgEBlgELIARBAWohGkGlASEqDJcCCyAEQQFqIRtBpgEhKgyWAgsCQCAcIAJHDQBBvAEhKgyvAgsgAiAcayAAKAIAIipqIS4gHCEEICohAQJAA0AgBC0AACABQfTPgIAAai0AAEcNlAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbwBISoMrwILIABBADYCACAcICprQQhqIQFBGyEqDJEBCwJAIAQgAkcNAEG9ASEqDK4CCwJAAkACQCAELQAAQb5/ag4SAJUBlQGVAZUBlQGVAZUBlQGVAQGVAZUBlQGVAZUBlQEClQELIARBAWohGUGkASEqDJYCCyAEQQFqIQRBpwEhKgyVAgsgBEEBaiEcQagBISoMlAILAkAgBCACRw0AQb4BISoMrQILIAQtAABBzgBHDZEBIARBAWohBAzWAQsCQCAEIAJHDQBBvwEhKgysAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA6ABBAUGoAGgAaABBwgJCgugAQwNDg+gAQsgBEEBaiEBQegAISoMoQILIARBAWohAUHpACEqDKACCyAEQQFqIQFB7gAhKgyfAgsgBEEBaiEBQfIAISoMngILIARBAWohAUHzACEqDJ0CCyAEQQFqIQFB9gAhKgycAgsgBEEBaiEBQfcAISoMmwILIARBAWohAUH6ACEqDJoCCyAEQQFqIQRBgwEhKgyZAgsgBEEBaiEGQYQBISoMmAILIARBAWohB0GFASEqDJcCCyAEQQFqIQRBkgEhKgyWAgsgBEEBaiEEQZgBISoMlQILIARBAWohBEGgASEqDJQCCyAEQQFqIQRBowEhKgyTAgsgBEEBaiEEQaoBISoMkgILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBISoMkgILQcABISoMqgILIAAgHSACEKqAgIAAIgENjwEgHSEBDF4LAkAgHiACRg0AIB5BAWohHQyRAQtBwgEhKgyoAgsD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NgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhKgyNAgsgACgCBCEyIABBADYCBCAqICunaiIvIQEgACAyICogLyAuGyIqELWAgIAAIi5FDZMBIABBBzYCHCAAICo2AhQgACAuNgIMQQAhKgyMAgsgACAALwEwQYABcjsBMCABIQELQSohKgzxAQsgKkEVRg3ZASAAQQA2AhwgACABNgIUIABBg4yAgAA2AhAgAEETNgIMQQAhKgyJAgsgKkEVRg3XASAAQQA2AhwgACABNgIUIABBmo+AgAA2AhAgAEEiNgIMQQAhKgyIAgsgACgCBCEqIABBADYCBAJAIAAgKiABELeAgIAAIioNACABQQFqIQEMkwELIABBDDYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyHAgsgKkEVRg3UASAAQQA2AhwgACABNgIUIABBmo+AgAA2AhAgAEEiNgIMQQAhKgyGAgsgACgCBCEqIABBADYCBAJAIAAgKiABELeAgIAAIioNACABQQFqIQEMkgELIABBDTYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyFAgsgKkEVRg3RASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgyEAgsgACgCBCEqIABBADYCBAJAIAAgKiABELmAgIAAIioNACABQQFqIQEMkQELIABBDjYCHCAAICo2AgwgACABQQFqNgIUQQAhKgyDAgsgAEEANgIcIAAgATYCFCAAQcCVgIAANgIQIABBAjYCDEEAISoMggILICpBFUYNzQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAISoMgQILIABBEDYCHCAAIAE2AhQgACAqNgIMQQAhKgyAAgsgACgCBCEEIABBADYCBAJAIAAgBCABELmAgIAAIgQNACABQQFqIQEM+AELIABBETYCHCAAIAQ2AgwgACABQQFqNgIUQQAhKgz/AQsgKkEVRg3JASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgz+AQsgACgCBCEqIABBADYCBAJAIAAgKiABELmAgIAAIioNACABQQFqIQEMjgELIABBEzYCHCAAICo2AgwgACABQQFqNgIUQQAhKgz9AQsgACgCBCEEIABBADYCBAJAIAAgBCABELmAgIAAIgQNACAB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AkAgAC0AKUEjTw0AIAEhAQxcCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhKgy8AQsgAEEANgIAC0EAISogAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy6AQsgAEEANgIAIDIgL2tBA2ohAQJAIAAtAClBIUcNACABIQEMWQsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAISoMuQELIABBADYCACAyIC9rQQRqIQECQCAALQApIipBXWpBC08NACABIQEMWAsCQCAqQQZLDQBBASAqdEHKAHFFDQAgASEBDFgLQQAhKiAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLgBCyAqQRVGDXUgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAISoMtwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFcLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMtgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMtQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMtAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMswELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEqDLIBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDLEBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdMANgIcIAAgATYCFCAAICo2AgxBACEqDLABCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxQCyAAQeUANgIcIAAgATYCFCAAICo2AgxBACEqDK8BCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhKgyuAQsgKkE/Rw0BIAFBAWohAQtBBSEqDJMBC0EAISogAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyrAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMRAsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgyqAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMRAsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgypAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMSQsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyoAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMQQsgAEHSADYCHCAAIC42AhQgACABNgIMQQAhKgynAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMQQsgAEHTADYCHCAAIC42AhQgACABNgIMQQAhKgymAQsgACgCBCEBIABBADYCBAJAIAAgASAuEKeAgIAAIgENACAuIQEMRgsgAEHlADYCHCAAIC42AhQgACABNgIMQQAhKgylAQsgAEEANgIcIAAgLjYCFCAAQcOPgIAANgIQIABBBzYCDEEAISoMpAELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEqDKMBC0EAISogAEEANgIcIAAgLjYCFCAAQYycgIAANgIQIABBBzYCDAyiAQsgAEEANgIcIAAgLjYCFCAAQYycgIAANgIQIABBBzYCDEEAISoMoQELIABBADYCHCAAIC42AhQgAEH+kYCAADYCECAAQQc2AgxBACEqDKABCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhKgyfAQsgKkEVRg1bIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEqDJ4BCyAAQQA2AgAgKiAua0EGaiEBQSQhKgsgACAqOgApIAAoAgQhKiAAQQA2AgQgACAqIAEQq4CAgAAiKg1YIAEhAQxBCyAAQQA2AgALQQAhKiAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJoBCyABQRVGDVQgAEEANgIcIAAgHTYC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AgAgKiAua0ECaiEBQfUAISoMEAsgASEBAkAgAC0AKUEFRw0AQeMAISoMEAtB4gAhKgwPC0EAISogAEEANgIcIABB5JGAgAA2AhAgAEEHNgIMIAAgLkEBajYCFAwnCyAAQQA2AgAgMiAva0ECaiEBQcAAISoMDQsgASEBC0E4ISoMCwsCQCABIikgAkYNAANAAkAgKS0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyApQQFqIQEMBAsgKUEBaiIpIAJHDQALQT4hKgwkC0E+ISoMIwsgAEEAOgAsICkhAQwBC0ELISoMCAtBOiEqDAcLIAFBAWohAUEtISoMBgtBKCEqDAULIABBADYCACAvIDBrQQRqIQFBBiEqCyAAICo6ACwgASEBQQwhKgwDCyAAQQA2AgAgMiAva0EHaiEBQQohKgwCCyAAQQA2AgALIABBADoALCAnIQFBCSEqDAALC0EAISogAEEANgIcIAAgIzYCFCAAQc2QgIAANgIQIABBCTYCDAwXC0EAISogAEEANgIcIAAgIjYCFCAAQemKgIAANgIQIABBCTYCDAwWC0EAISogAEEANgIcIAAgITYCFCAAQbeQgIAANgIQIABBCTYCDAwVC0EAISogAEEANgIcIAAgIDYCFCAAQZyRgIAANgIQIABBCTYCDAwUC0EAISogAEEANgIcIAAgATYCFCAAQc2QgIAANgIQIABBCTYCDAwTC0EAISogAEEANgIcIAAgATYCFCAAQemKgIAANgIQIABBCTYCDAwSC0EAISogAEEANgIcIAAgATYCFCAAQbeQgIAANgIQIABBCTYCDAwRC0EAISogAEEANgIcIAAgATYCFCAAQZyRgIAANgIQIABBCTYCDAwQC0EAISogAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwPC0EAISogAEEANgIcIAAgATYCFCAAQZeVgIAANgIQIABBDzYCDAwOC0EAISogAEEANgIcIAAgATYCFCAAQcCSgIAANgIQIABBCzYCDAwNC0EAISogAEEANgIcIAAgATYCFCAAQZWJgIAANgIQIABBCzYCDAwMC0EAISogAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDAwLC0EAISogAEEANgIcIAAgATYCFCAAQfuPgIAANgIQIABBCjYCDAwKC0EA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AAAABQAAAAAAAAAAAAAABgAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgACAgICAgAAAgIAAgIAAgICAgICAgICAgADAAQAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxvc2VlZXAtYWxpdmUAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWN0aW9uZW50LWxlbmd0aG9ucm94eS1jb25uZWN0aW9uAAAAAAAAAAAAAAAAAAAAcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAAAAAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAADBAAABAQEBAQEBAQEBAQFBAQEBAQEBAQEBAQEAAQABgcEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv";\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js\nvar require_llhttp_simd_wasm = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) {\n init_define_process();\n module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAAMBBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC9z3AQMofwN+BX8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDyABIRAgASERIAEhEiABIRMgASEUIAEhFSABIRYgASEXIAEhGCABIRkgASEaIAEhGyABIRwgASEdIAEhHiABIR8gASEgIAEhISABISIgASEjIAEhJCABISUgASEmIAEhJyABISggASEpAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAhwiKkF/ag7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVW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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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AAAAAAAAAAkKCwwNDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxAREhMUAAtBHiEqDMQDC0ICISsM5QELQgMhKwzkAQtCBCErDOMBC0IFISsM4gELQgYhKwzhAQtCByErDOABC0IIISsM3wELQgkhKwzeAQtCCiErDN0BC0ILISsM3AELQgwhKwzbAQtCDSErDNoBC0IOISsM2QELQg8hKwzYAQtCCiErDNcBC0ILISsM1gELQgwhKwzVAQtCDSErDNQBC0IOISsM0wELQg8hKwzSAQtCACErAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAqLQAAQVBqDjflAeQBAAECAwQFBgfmAeYB5gHmAeYB5gHmAQgJCgsMDeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gEODxAREhPmAQtCAiErDOQBC0IDISsM4wELQgQhKwziAQtCBSErDOEBC0IGISsM4AELQgchKwzfAQtCCCErDN4BC0IJISsM3QELQgohKwzcAQtCCyErDNsBC0IMISsM2gELQg0hKwzZAQtCDiErDNgBC0IPISsM1wELQgohKwzWAQtCCyErDNUBC0IMISsM1AELQg0hKwzTAQtCDiErDNIBC0IPISsM0QELIABCACAAKQMgIisgAiABIiprrSIsfSItIC0gK1YbNwMgICsgLFYiLkUN0gFBHyEqDMcDCwJAIAEiASACRg0AIABBiYCAgAA2AgggACABNgIEIAEhAUEkISoMrgMLQSAhKgzGAwsgACABIiogAhC+gICAAEF/ag4FtgEAywIB0QHSAQtBESEqDKsDCyAAQQE6AC8gKiEBDMIDCyABIgEgAkcN0gFBJCEqDMIDCyABIicgAkcNHkHGACEqDMEDCyAAIAEiASACELKAgIAAIioN1AEgASEBDLUBCyABIiogAkcNJkHQACEqDL8DCwJAIAEiASACRw0AQSghKgy/AwsgAEEANgIEIABBjICAgAA2AgggACABIAEQsYCAgAAiKg3TASABIQEM2AELAkAgASIqIAJHDQBBKSEqDL4DCyAqLQAAIgFBIEYNFCABQQlHDdMBICpBAWohAQwVCwJAIAEiASACRg0AIAFBAWohAQwXC0EqISoMvAMLAkAg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DQALIAAgKjYCAEGDASEqDOgCC0EAISogAEEANgIAIC4gMmtBA2ohAQzKAQsCQCABIiogAkcNAEGEASEqDOcCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBg8+AgABqLQAARw3MASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBhAEhKgznAgsgAEEANgIAICogLmtBBWohAUEjISoMyQELAkAgASIEIAJHDQBBhQEhKgzmAgsCQAJAIAQtAABBtH9qDggAzAHMAcwBzAHMAcwBAcwBCyAEQQFqIQFB7wAhKgzNAgsgBEEBaiEBQfAAISoMzAILAkAgASIEIAJHDQBBhgEhKgzlAgsgBC0AAEHFAEcNyQEgBEEBaiEBDIoCCwJAIAEiKiACRw0AQYcBISoM5AILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGIz4CAAGotAABHDckBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGHASEqDOQCCyAAQQA2AgAgKiAua0EEaiEBQS0hKgzGAQsCQCABIiogAkcNAEGIASEqDOMCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB0M+AgABqLQAARw3IASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBiAEhKgzjAgsgAEEANgIAICogLmtBCWohAUEpISoMxQELAkAgASIBIAJHDQBBiQEhKgziAgtBASEqIAEtAABB3wBHDcQBIAFBAWohAQyIAgsCQCABIiogAkcNAEGKASEqDOECCyACICprIAAoAgAiLmohMiAqIQQgLiEBA0AgBC0AACABQYzPgIAAai0AAEcNxQEgAUEBRg23AiABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGKASEqDOACCwJAIAEiKiACRw0AQYsBISoM4AILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGOz4CAAGotAABHDcUBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGLASEqDOACCyAAQQA2AgAgKiAua0EDaiEBQQIhKgzCAQsCQCABIiogAkcNAEGMASEqDN8CCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB8M+AgABqLQAARw3EASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBjAEhKgzfAgsgAEEANgIAICogLmtBAmohAUEfISoMwQELAkAgASIqIAJHDQBBjQEhKgzeAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQfLPgIAAai0AAEcNwwEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQY0BISoM3gILIABBADYCACAqIC5rQQJqIQFBCSEqDMABCwJAIAEiBCACRw0AQY4BISoM3QILAkACQCAELQAAQbd/ag4HAMMBwwHDAcMBwwEBwwELIARBAWohAUH4ACEqDMQCCyAEQQFqIQFB+QAhKgzDAgsCQCABIiogAkcNAEGPASEqDNwCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBkc+AgABqLQAARw3BASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBjwEhKgzcAgsgAEEANgIAICogLmtBBmohAUEYISoMvgELAkAgASIqIAJHDQBBkAEhKgzbAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQZfPgIAAai0AAEcNwAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQZABISoM2wILIABBADYCACAqIC5rQQNqIQFBFyEqDL0BCwJAIAEiKiACRw0AQZEBISoM2gILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUGaz4CAAGotAABHDb8BIAFBBkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEGRASEqDNoCCyAAQQA2AgAgKiAua0EHaiEBQRUhKgy8AQsCQCABIiogAkcNAEGSASEqDNkCCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFBoc+AgABqLQAARw2+ASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBBkgEhKgzZAgsgAEEANgIAICogLmtBBmohAUEeISoMuwELAkAgASIEIAJHDQBBkwEhKgzYAgsgBC0AAEHMAEcN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LjYCAEGqASEqDMECCyAAQQA2AgAgEiAqa0EDaiEBQRQhKgyjAQsCQCAEIAJHDQBBqwEhKgzAAgsCQAJAAkACQCAELQAAQb5/ag4PAAECqAGoAagBqAGoAagBqAGoAagBqAGoAQOoAQsgBEEBaiEPQZMBISoMqQILIARBAWohEEGUASEqDKgCCyAEQQFqIRFBlQEhKgynAgsgBEEBaiESQZYBISoMpgILAkAgBCACRw0AQawBISoMvwILIAQtAABBxQBHDaMBIARBAWohBAznAQsCQCATIAJHDQBBrQEhKgy+AgsgAiATayAAKAIAIipqIS4gEyEEICohAQJAA0AgBC0AACABQc3PgIAAai0AAEcNowEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQa0BISoMvgILIABBADYCACATICprQQNqIQFBDiEqDKABCwJAIAQgAkcNAEGuASEqDL0CCyAELQAAQdAARw2hASAEQQFqIQFBJSEqDJ8BCwJAIBQgAkcNAEGvASEqDLwCCyACIBRrIAAoAgAiKmohLiAUIQQgKiEBAkADQCAELQAAIAFB0M+AgABqLQAARw2hASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBrwEhKgy8AgsgAEEANgIAIBQgKmtBCWohAUEqISoMngELAkAgBCACRw0AQbABISoMuwILAkACQCAELQAAQat/ag4LAKEBoQGhAaEBoQGhAaEBoQGhAQGhAQsgBEEBaiEEQZoBISoMogILIARBAWohFEGbASEqDKECCwJAIAQgAkcNAEGxASEqDLoCCwJAAkAgBC0AAEG/f2oOFACgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEBoAELIARBAWohE0GZASEqDKECCyAEQQFqIQRBnAEhKgygAgsCQCAVIAJHDQBBsgEhKgy5AgsgAiAVayAAKAIAIipqIS4gFSEEICohAQJAA0AgBC0AACABQdnPgIAAai0AAEcNngEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbIBISoMuQILIABBADYCACAVICprQQRqIQFBISEqDJsBCwJAIBYgAkcNAEGzASEqDLgCCyACIBZrIAAoAgAiKmohLiAWIQQgKiEBAkADQCAELQAAIAFB3c+AgABqLQAARw2dASABQQZGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBswEhKgy4AgsgAEEANgIAIBYgKmtBB2ohAUEaISoMmgELAkAgBCACRw0AQbQBISoMtwILAkACQAJAIAQtAABBu39qDhEAngGeAZ4BngGeAZ4BngGeAZ4BAZ4BngGeAZ4BngECngELIARBAWohBEGdASEqDJ8CCyAEQQFqIRVBngEhKgyeAgsgBEEBaiEWQZ8BISoMnQILAkAgFyACRw0AQbUBISoMtgILIAIgF2sgACgCACIqaiEuIBchBCAqIQECQANAIAQtAAAgAUHkz4CAAGotAABHDZsBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEG1ASEqDLYCCyAAQQA2AgAgFyAqa0EGaiEBQSghKgyYAQsCQCAYIAJHDQBBtgEhKgy1AgsgAiAYayAAKAIAIipqIS4gGCEEICohAQJAA0AgBC0AACABQerPgIAAai0AAEcNmgEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbYBISoMtQILIABBADYCACAYICprQQNqIQFBByEqDJcBCwJAIAQgAkcNAEG3ASEqDLQCCwJAAkAgBC0AAEG7f2oODgCaAZoBmgGaAZoBmgGaAZoBmgGaAZoBmgEBmgELIARBAWohF0GhASEqDJsCCyAEQQFqIRhBogEhKgyaAgsCQCAZIAJHDQBBuAEhKgyzAgsgAiAZayAAKAIAIipqIS4gGSEEICohAQJAA0AgBC0AACABQe3PgIAAai0AAEcNmAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAuNgIAQbgBISoMswILIABBADYCACAZICprQQNqIQFBEiEqDJUBCwJAIBogAkcNAEG5ASEqDLICCyACIBprIAAoAgAiKmohLiAaIQQgKiEBAkADQCAELQAAIAFB8M+AgABqLQAARw2XASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBuQEhKgyyAgsgAEEANgIAIBogKmtBAmohAUEgISoMlAELAkAgGyACRw0AQboBISoMsQILIAIgG2sgACgCACIqaiEuIBshBCAqIQECQANAIAQtAAAgAUHyz4CAAGotAABHDZYBIAFB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DM4BCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhKgzNAQsgAUEBaiEBCyAAQYASOwEqIAAgASACEKiAgIAAIioNASABIQELQccAISoMsQELICpBFUcNiQEgAEHRADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEqDMkBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxiCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDMgBCyAAQQA2AhwgACAuNgIUIABBwaiAgAA2AhAgAEEHNgIMIABBADYCAEEAISoMxwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDGELIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMxgELQQAhKiAAQQA2AhwgACABNgIUIABBgJGAgAA2AhAgAEEJNgIMDMUBCyAqQRVGDYMBIABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEqDMQBC0EBIS9BACEyQQAhLkEBISoLIAAgKjoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAvRQ0DDAILIC4NAQwCCyAyRQ0BCyAAKAIEISogAEEANgIEAkAgACAqIAEQrYCAgAAiKg0AIAEhAQxgCyAAQdgANgIcIAAgATYCFCAAICo2AgxBACEqDMMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQyyAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhKgzCAQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMsAELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAISoMwQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDK4BCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEqDMABC0EBISoLIAAgKjoAKiABQQFqIQEMXAsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqgELIABB3gA2AhwgACABNgIUIAAgBDYCDEEAISoMvQELIABBADYCACAyIC9rQQRqIQECQCAALQApQSNPDQAgASEBDFwLIABBADYCHCAAIAE2AhQgAEHTiYCAADYCECAAQQg2AgxBACEqDLwBCyAAQQA2AgALQQAhKiAAQQA2AhwgACABNgIUIABBkLOAgAA2AhAgAEEINgIMDLoBCyAAQQA2AgAgMiAva0EDaiEBAkAgAC0AKUEhRw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABBm4qAgAA2AhAgAEEINgIMQQAhKgy5AQsgAEEANgIAIDIgL2tBBGohAQJAIAAtACkiKkFdakELTw0AIAEhAQxYCwJAICpBBksNAEEBICp0QcoAcUUNACABIQEMWAtBACEqIABBADYCHCAAIAE2AhQgAEH3iYCAADYCECAAQQg2AgwMuAELICpBFUYNdSAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhKgy3AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVwsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgy2AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgy1AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgy0AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVAsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyzAQsgAEEANgIcIAAgATYCFCAAQcaKgIAANgIQIABBBzYCDEEAISoMsgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMsQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMsAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFALIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMrwELIABBADYCHCAAIAE2AhQgAEHciICAADYCECAAQQc2AgxBACEqDK4BCyAqQT9HDQEgAUEBaiEBC0EFISoMkwELQQAhKiAAQQA2AhwgACABNgIUIABB/ZKAgAA2AhAgAEEHNgIMDKsBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxECyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDKoBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxECyAAQdMANgIcIAAgATYCFCAAICo2AgxBACEqDKkBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxJCyAAQeUANgIcIAAgATYCFCAAICo2AgxBACEqDKgBCyAAKAIEIQEgAEEANgIEAkAgACABIC4Qp4CAgAAiAQ0AIC4hAQxBCyAAQdIANgIcIAAgLjYCFCAAIAE2AgxBACEqDKcBCyAAKAIEIQEgAEEANgIEAkAgACABIC4Qp4CAgAAiAQ0AIC4hAQxBCyAAQdMANgIcIAAgLjYCFCAAIAE2AgxBACEqDKYBCyAAKAIEIQEgAEEANgIEAkAgACABIC4Qp4CAgAAiAQ0AIC4hAQxGCyAAQeUANgIcIAAgLjYCFCAAIAE2AgxBACEqDKUBCyAAQQA2AhwgACAuNgIUIABBw4+AgAA2AhAgAEEHNgIMQQAhKgykAQsgAEEANgIcIAAgATYCFCAAQcOPgIAANgIQIABBBzYCDEEAISoMowELQQAhKiAAQQA2AhwgACAuNgIUIABBjJyAgAA2AhAgAEEHNgIMDKIBCyAAQQA2AhwgACAuNgIUIABBjJyAgAA2AhAgAEEHNgIMQQAhKgyhAQsgAEEANgIcIAAgLjYCFCAAQf6RgIAANgIQIABBBzYCDEEAISoMoAELIABBADYCHCAAIAE2AhQgAEGOm4CAADYCECAAQQY2AgxBACEqDJ8BCyAqQRVGDVsgAEEANgIcIAAgATYCFCAAQcyOgIAANgIQIABBIDYCDEEAISoMngELIABBADYCACAqIC5rQQZqIQFBJCEqCyAAICo6ACkgACgCBCEqIABBADYCBCAAICogARCrgICAACIqDVggASEBDEELIABBADYCAAtBACEqIABBADYCHCAAIAQ2AhQgAEHxm4CAADYCECAAQQY2AgwMmgELIAFBFUYNVCAAQQA2AhwgACAdNgIUIABB8IyAgAA2AhAgAEEbNgIMQQAhKgyZAQsgACgCBCEdIABBADYCBCAAIB0gKhCpgICAACIdDQEgKkEBaiEdC0GtASEqDH4LIABBwQE2AhwgACAdNgIMIAAgKkEBajYCFEEAISoMlgELIAAoAgQhHiAAQQA2AgQgACAeICoQqYCAgAAiHg0BICpBAWohHgtBrgEhKgx7CyAAQcIBNgIcIAAgHjYCDCAAICpBAWo2AhRBACEqDJMBCyAAQQA2AhwgACAfNgIUIABBl4uAgAA2AhAgAEENNgIMQQAhKgySAQsgAEEANgIcIAAgIDYCFCAAQeOQgIAANgIQIABBCTYCDEEAISoMkQELIABBADYCHCAAICA2AhQgAEGUjYCAADYCECAAQSE2AgxBACEqDJABC0EBIS9BACEyQQAhLkEBISoLIAAgKjoAKyAhQQFqISACQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAvRQ0DDAILIC4NAQwCCyAyRQ0BCyAAKAIEISogAEEANgIEIAAgKiAgEK2AgIAAIipFDUAgAEHJATYCHCAAICA2AhQgACAqNgIMQQAhKgyPAQsgACgCBCEBIABBADYCBCAAIAEgIBCtgICAACIBRQ15IABBygE2AhwgACAgNgIUIAAgATYCDEEAISoMjgELIAAoAgQhASAAQQA2AgQgACABICEQrYCAgAAiAUUNdyAAQcsBNgIcIAAgITYCFCAAIAE2AgxBACEqDI0BCyAAKAIEIQEgAEEANgIEIAAgASAiEK2AgIAAIgFFDXUgAEHNATYCHCAAICI2AhQgACABNgIMQQAhKgyMAQtBASEqCyAAICo6ACogI0EBaiEiDD0LIAAoAgQhASAAQQA2AgQgACABICMQrYCAgAAiAUUNcSAAQc8BNgIcIAAgIzYCFCAAIAE2AgxBACEqDIkBCyAAQQA2AhwgACAjNgIUIABBkLOAgAA2AhAgAEEINgIMIABBADYCAEEAISoMiAELIAFBFUYNQSAAQQA2AhwgACAkNgIUIABBzI6AgAA2AhAgAEEgNgIMQQAhKgyHAQsgAEEANgIAIABBgQQ7ASggACgCBCEqIABBADYCBCAAICogJSAka0ECaiIkEKuAgIAAIipFDTogAEHTATYCHCAAICQ2AhQgACAqNgIMQQAhKgyGAQsgAEEANgIAC0EAISogAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyEAQsgAEEANgIAIAAoAgQhKiAAQQA2AgQgACAqICYgI2tBA2oiIxCrgICAACIqDQFBxgEhKgxqCyAAQQI6ACgMVwsgAEHVATYCHCAAICM2AhQgACAqNgIMQQAhKgyBAQsgKkEVRg05IABBADYCHCAAIAQ2AhQgAEGkjICAADYCECAAQRA2AgxBACEqDIABCyAALQA0QQFHDTYgACAEIAIQvICAgAAiKkUNNiAqQRVHDTcgAEHcATYCHCAAIAQ2AhQgAEHVloCAADYCECAAQRU2AgxBACEqDH8LQQAhKiAAQQA2AhwgAEGvi4CAADYCECAAQQI2AgwgACAuQQFqNgIUDH4LQQAhKgxkC0ECISoMYwtBDSEqDGILQQ8hKgxhC0ElISoMYAtBEyEqDF8LQRUhKgxeC0EWISoMXQtBFyEqDFwLQRghKgxbC0EZISoMWgtBGiEqDFkLQRshKgxYC0EcISoMVwtBHSEqDFYLQR8hKgxVC0EhISoMVAtBIyEqDFMLQcYAISoMUgtBLiEqDFELQS8hKgxQC0E7ISoMTwtBPSEqDE4LQcgAISoMTQtByQAhKgxMC0HLACEqDEsLQcwAISoMSgtBzgAhKgxJC0HPACEqDEgLQdEAISoMRwtB1QAhKgxGC0HYACEqDEULQdkAISoMRAtB2wAhKgxDC0HkACEqDEILQeUAISoMQQtB8QAhKgxAC0H0ACEqDD8LQY0BISoMPgtBlwEhKgw9C0GpASEqDDwLQawBISoMOwtBwAEhKgw6C0G5ASEqDDkLQa8BISoMOAtBsQEhKgw3C0GyASEqDDYLQbQBISoMNQtBtQEhKgw0C0G2ASEqDDMLQboBISoMMgtBvQEhKgwxC0G/ASEqDDALQcEBISoMLwsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAISoMRwsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEqDEYLIABB+AA2AhwgACAkNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhKgxFCyAAQdEANgIcIAAgHTYCFCAAQbCXgIAANgIQIABBFTYCDEEAISoMRAsgAEH5ADYCHCAAIAE2AhQgACAqNgIMQQAhKgxDCyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAISoMQgsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEqDEELIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhKgxACyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhKgw/CyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAISoMPgsgAEEANgIEIAAgKSApELGAgIAAIgFFDQEgAEE6NgIcIAAgATYCDCAAIClBAWo2AhRBACEqDD0LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhKgw9CyABQQFqIQEMLAsgKUEBaiEBDCwLIABBADYCHCAAICk2AhQgAEHkkoCAADYCECAAQQQ2AgxBACEqDDoLIABBNjYCHCAAIAE2AhQgACAENgIMQQAhKgw5CyAAQS42AhwgACAoNgIUIAAgATYCDEEAISoMOAsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEqDDcLICdBAWohAQwrCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhKgw1CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhKgw0CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhKgwzCyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhKgwyCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhKgwxCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhKgwwCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhKgwvCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhKgwuCyAAQQA2AhwgACAqNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhKgwtCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhKgwsCyAAQQA2AgAgBCAua0EFaiEjC0G4ASEqDBELIABBADYCACAqIC5rQQJqIQFB9QAhKgwQCyABIQECQCAALQApQQVHDQBB4wAhKgwQC0HiACEqDA8LQQAhKiAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAuQQFqNgIUDCcLIABBADYCACAyIC9rQQJqIQFBwAAhKgwNCyABIQELQTghKgwLCwJAIAEiKSACRg0AA0ACQCApLQAAQYC+gIAAai0AACIBQQFGDQAgAUECRw0DIClBAWohAQwECyApQQFqIikgAkcNAAtBPiEqDCQLQT4hKgwjCyAAQQA6ACwgKSEBDAELQQshKgwIC0E6ISoMBwsgAUEBaiEBQS0hKgwGC0EoISoMBQsgAEEANgIAIC8gMGtBBGohAUEGISoLIAAgKjoALCABIQFBDCEqDAMLIABBADYCACAyIC9rQQdqIQFBCiEqDAILIABBADYCAAsgAEEAOgAsICchAUEJISoMAAsLQQAhKiAAQQA2AhwgACAjNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhKiAAQQA2AhwgACAiNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhKiAAQQA2AhwgACAhNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhKiAAQQA2AhwgACAgNgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhKiAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhKiAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhKiAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhKiAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhKiAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhKiAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhKiAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhKiAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhKiAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhKiAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhKiAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhKiAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhKiAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEqDAYLQQEhKgwFC0HUACEqIAEiASACRg0EIANBCGogACABIAJB2MKAgABBChDFgICAACADKAIMIQEgAygCCA4DAQQCAAsQy4CAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACABQQFqNgIUQQAhKgwCCyAAQQA2AhwgACABNgIUIABBypqAgAA2AhAgAEEJNgIMQQAhKgwBCwJAIAEiASACRw0AQSIhKgwBCyAAQYmAgIAANgIIIAAgATYCBEEhISoLIANBEGokgICAgAAgKguvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC5U3AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQyoCAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACIANrQUhqIgNBAXI2AgBBAEEAKALw04CAADYCpNCAgABBACAENgKg0ICAAEEAIAM2ApTQgIAAIAJBgNSEgABqQUxqQTg2AgALAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFLDQACQEEAKAKI0ICAACIGQRAgAEETakFwcSAAQQtJGyICQQN2IgR2IgNBA3FFDQAgA0EBcSAEckEBcyIFQQN0IgBBuNCAgABqKAIAIgRBCGohAwJAAkAgBCgCCCICIABBsNCAgABqIgBHDQBBACAGQX4gBXdxNgKI0ICAAAwBCyAAIAI2AgggAiAANgIMCyAEIAVBA3QiBUEDcjYCBCAEIAVqQQRqIgQgBCgCAEEBcjYCAAwMCyACQQAoApDQgIAAIgdNDQECQCADRQ0AAkACQCADIAR0QQIgBHQiA0EAIANrcnEiA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBEEFdkEIcSIFIANyIAQgBXYiA0ECdkEEcSIEciADIAR2IgNBAXZBAnEiBHIgAyAEdiIDQQF2QQFxIgRyIAMgBHZqIgVBA3QiAEG40ICAAGooAgAiBCgCCCIDIABBsNCAgABqIgBHDQBBACAGQX4gBXdxIgY2AojQgIAADAELIAAgAzYCCCADIAA2AgwLIARBCGohAyAEIAJBA3I2AgQgBCAFQQN0IgVqIAUgAmsiBTYCACAEIAJqIgAgBUEBcjYCBAJAIAdFDQAgB0EDdiIIQQN0QbDQgIAAaiECQQAoApzQgIAAIQQCQAJAIAZBASAIdCIIcQ0AQQAgBiAIcjYCiNCAgAAgAiEIDAELIAIoAgghCAsgCCAENgIMIAIgBDYCCCAEIAI2AgwgBCAINgIIC0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNAEEAKAKY0ICAACAAKAIIIgNLGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AQQAoApjQgIAAIAgoAggiA0saIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgAyAEakEEaiIDIAMoAgBBAXI2AgBBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQyoCAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQyoCAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMqAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDKgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDKgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDKgICAACEAQQAQyoCAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGIANrQUhqIgNBAXI2AgRBAEEAKALw04CAADYCpNCAgABBACAENgKg0ICAAEEAIAM2ApTQgIAAIAYgAGpBTGpBODYCAAwCCyADLQAMQQhxDQAgBSAESw0AIAAgBE0NACAEQXggBGtBD3FBACAEQQhqQQ9xGyIFaiIAQQAoApTQgIAAIAZqIgsgBWsiBUEBcjYCBCADIAggBmo2AgRBAEEAKALw04CAADYCpNCAgABBACAFNgKU0ICAAEEAIAA2AqDQgIAAIAsgBGpBBGpBODYCAAwBCwJAIABBACgCmNCAgAAiC08NAEEAIAA2ApjQgIAAIAAhCwsgACAGaiEIQcjTgIAAIQMCQAJAAkACQAJAAkACQANAIAMoAgAgCEYNASADKAIIIgMNAAwCCwsgAy0ADEEIcUUNAQtByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiIFIARLDQMLIAMoAgghAwwACwsgAyAANgIAIAMgAygCBCAGajYCBCAAQXggAGtBD3FBACAAQQhqQQ9xG2oiBiACQQNyNgIEIAhBeCAIa0EPcUEAIAhBCGpBD3EbaiIIIAYgAmoiAmshBQJAIAQgCEcNAEEAIAI2AqDQgIAAQQBBACgClNCAgAAgBWoiAzYClNCAgAAgAiADQQFyNgIEDAMLAkBBACgCnNCAgAAgCEcNAEEAIAI2ApzQgIAAQQBBACgCkNCAgAAgBWoiAzYCkNCAgAAgAiADQQFyNgIEIAIgA2ogAzYCAAwDCwJAIAgoAgQiA0EDcUEBRw0AIANBeHEhBwJAAkAgA0H/AUsNACAIKAIIIgQgA0EDdiILQQN0QbDQgIAAaiIARhoCQCAIKAIMIgMgBEcNAEEAQQAoAojQgIAAQX4gC3dxNgKI0ICAAAwCCyADIABGGiADIAQ2AgggBCADNgIMDAELIAgoAhghCQJAAkAgCCgCDCIAIAhGDQAgCyAIKAIIIgNLGiAAIAM2AgggAyAANgIMDAELAkAgCEEUaiIDKAIAIgQNACAIQRBqIgMoAgAiBA0AQQAhAAwBCwNAIAMhCyAEIgBBFGoiAygCACIEDQAgAEEQaiEDIAAoAhAiBA0ACyALQQA2AgALIAlFDQACQAJAIAgoAhwiBEECdEG40oCAAGoiAygCACAIRw0AIAMgADYCACAADQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAgsgCUEQQRQgCSgCECAIRhtqIAA2AgAgAEUNAQsgACAJNgIYAkAgCCgCECIDRQ0AIAAgAzYCECADIAA2AhgLIAgoAhQiA0UNACAAQRRqIAM2AgAgAyAANgIYCyAHIAVqIQUgCCAHaiEICyAIIAgoAgRBfnE2AgQgAiAFaiAFNgIAIAIgBUEBcjYCBAJAIAVB/wFLDQAgBUEDdiIEQQN0QbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBHQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgAjYCDCADIAI2AgggAiADNgIMIAIgBDYCCAwDC0EfIQMCQCAFQf///wdLDQAgBUEIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIAIABBgIAPakEQdkECcSIAdEEPdiADIARyIAByayIDQQF0IAUgA0EVanZBAXFyQRxqIQMLIAIgAzYCHCACQgA3AhAgA0ECdEG40oCAAGohBAJAQQAoAozQgIAAIgBBASADdCIIcQ0AIAQgAjYCAEEAIAAgCHI2AozQgIAAIAIgBDYCGCACIAI2AgggAiACNgIMDAMLIAVBAEEZIANBAXZrIANBH0YbdCEDIAQoAgAhAANAIAAiBCgCBEF4cSAFRg0CIANBHXYhACADQQF0IQMgBCAAQQRxakEQaiIIKAIAIgANAAsgCCACNgIAIAIgBDYCGCACIAI2AgwgAiACNgIIDAILIABBeCAAa0EPcUEAIABBCGpBD3EbIgNqIgsgBiADa0FIaiIDQQFyNgIEIAhBTGpBODYCACAEIAVBNyAFa0EPcUEAIAVBSWpBD3EbakFBaiIIIAggBEEQakkbIghBIzYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAs2AqDQgIAAQQAgAzYClNCAgAAgCEEQakEAKQLQ04CAADcCACAIQQApAsjTgIAANwIIQQAgCEEIajYC0NOAgABBACAGNgLM04CAAEEAIAA2AsjTgIAAQQBBADYC1NOAgAAgCEEkaiEDA0AgA0EHNgIAIAUgA0EEaiIDSw0ACyAIIARGDQMgCCAIKAIEQX5xNgIEIAggCCAEayIGNgIAIAQgBkEBcjYCBAJAIAZB/wFLDQAgBkEDdiIFQQN0QbDQgIAAaiEDAkACQEEAKAKI0ICAACIAQQEgBXQiBXENAEEAIAAgBXI2AojQgIAAIAMhBQwBCyADKAIIIQULIAUgBDYCDCADIAQ2AgggBCADNgIMIAQgBTYCCAwEC0EfIQMCQCAGQf///wdLDQAgBkEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCIAIABBgIAPakEQdkECcSIAdEEPdiADIAVyIAByayIDQQF0IAYgA0EVanZBAXFyQRxqIQMLIARCADcCECAEQRxqIAM2AgAgA0ECdEG40oCAAGohBQJAQQAoAozQgIAAIgBBASADdCIIcQ0AIAUgBDYCAEEAIAAgCHI2AozQgIAAIARBGGogBTYCACAEIAQ2AgggBCAENgIMDAQLIAZBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAANAIAAiBSgCBEF4cSAGRg0DIANBHXYhACADQQF0IQMgBSAAQQRxakEQaiIIKAIAIgANAAsgCCAENgIAIARBGGogBTYCACAEIAQ2AgwgBCAENgIIDAMLIAQoAggiAyACNgIMIAQgAjYCCCACQQA2AhggAiAENgIMIAIgAzYCCAsgBkEIaiEDDAULIAUoAggiAyAENgIMIAUgBDYCCCAEQRhqQQA2AgAgBCAFNgIMIAQgAzYCCAtBACgClNCAgAAiAyACTQ0AQQAoAqDQgIAAIgQgAmoiBSADIAJrIgNBAXI2AgRBACADNgKU0ICAAEEAIAU2AqDQgIAAIAQgAkEDcjYCBCAEQQhqIQMMAwtBACEDQQBBMDYC+NOAgAAMAgsCQCALRQ0AAkACQCAIIAgoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAA2AgAgAA0BQQAgB0F+IAV3cSIHNgKM0ICAAAwCCyALQRBBFCALKAIQIAhGG2ogADYCACAARQ0BCyAAIAs2AhgCQCAIKAIQIgNFDQAgACADNgIQIAMgADYCGAsgCEEUaigCACIDRQ0AIABBFGogAzYCACADIAA2AhgLAkACQCAEQQ9LDQAgCCAEIAJqIgNBA3I2AgQgAyAIakEEaiIDIAMoAgBBAXI2AgAMAQsgCCACaiIAIARBAXI2AgQgCCACQQNyNgIEIAAgBGogBDYCAAJAIARB/wFLDQAgBEEDdiIEQQN0QbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBHQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAMgAGpBBGoiAyADKAIAQQFyNgIADAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBA3YiCEEDdEGw0ICAAGohAkEAKAKc0ICAACEDAkACQEEBIAh0IgggBnENAEEAIAggBnI2AojQgIAAIAIhCAwBCyACKAIIIQgLIAggAzYCDCACIAM2AgggAyACNgIMIAMgCDYCCAtBACAFNgKc0ICAAEEAIAQ2ApDQgIAACyAAQQhqIQMLIAFBEGokgICAgAAgAwsKACAAEMmAgIAAC/ANAQd/AkAgAEUNACAAQXhqIgEgAEF8aigCACICQXhxIgBqIQMCQCACQQFxDQAgAkEDcUUNASABIAEoAgAiAmsiAUEAKAKY0ICAACIESQ0BIAIgAGohAAJAQQAoApzQgIAAIAFGDQACQCACQf8BSw0AIAEoAggiBCACQQN2IgVBA3RBsNCAgABqIgZGGgJAIAEoAgwiAiAERw0AQQBBACgCiNCAgABBfiAFd3E2AojQgIAADAMLIAIgBkYaIAIgBDYCCCAEIAI2AgwMAgsgASgCGCEHAkACQCABKAIMIgYgAUYNACAEIAEoAggiAksaIAYgAjYCCCACIAY2AgwMAQsCQCABQRRqIgIoAgAiBA0AIAFBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAQJAAkAgASgCHCIEQQJ0QbjSgIAAaiICKAIAIAFHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwDCyAHQRBBFCAHKAIQIAFGG2ogBjYCACAGRQ0CCyAGIAc2AhgCQCABKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgASgCFCICRQ0BIAZBFGogAjYCACACIAY2AhgMAQsgAygCBCICQQNxQQNHDQAgAyACQX5xNgIEQQAgADYCkNCAgAAgASAAaiAANgIAIAEgAEEBcjYCBA8LIAMgAU0NACADKAIEIgJBAXFFDQACQAJAIAJBAnENAAJAQQAoAqDQgIAAIANHDQBBACABNgKg0ICAAEEAQQAoApTQgIAAIABqIgA2ApTQgIAAIAEgAEEBcjYCBCABQQAoApzQgIAARw0DQQBBADYCkNCAgABBAEEANgKc0ICAAA8LAkBBACgCnNCAgAAgA0cNAEEAIAE2ApzQgIAAQQBBACgCkNCAgAAgAGoiADYCkNCAgAAgASAAQQFyNgIEIAEgAGogADYCAA8LIAJBeHEgAGohAAJAAkAgAkH/AUsNACADKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCADKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwCCyACIAZGGiACIAQ2AgggBCACNgIMDAELIAMoAhghBwJAAkAgAygCDCIGIANGDQBBACgCmNCAgAAgAygCCCICSxogBiACNgIIIAIgBjYCDAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQYMAQsDQCACIQUgBCIGQRRqIgIoAgAiBA0AIAZBEGohAiAGKAIQIgQNAAsgBUEANgIACyAHRQ0AAkACQCADKAIcIgRBAnRBuNKAgABqIgIoAgAgA0cNACACIAY2AgAgBg0BQQBBACgCjNCAgABBfiAEd3E2AozQgIAADAILIAdBEEEUIAcoAhAgA0YbaiAGNgIAIAZFDQELIAYgBzYCGAJAIAMoAhAiAkUNACAGIAI2AhAgAiAGNgIYCyADKAIUIgJFDQAgBkEUaiACNgIAIAIgBjYCGAsgASAAaiAANgIAIAEgAEEBcjYCBCABQQAoApzQgIAARw0BQQAgADYCkNCAgAAPCyADIAJBfnE2AgQgASAAaiAANgIAIAEgAEEBcjYCBAsCQCAAQf8BSw0AIABBA3YiAkEDdEGw0ICAAGohAAJAAkBBACgCiNCAgAAiBEEBIAJ0IgJxDQBBACAEIAJyNgKI0ICAACAAIQIMAQsgACgCCCECCyACIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggPC0EfIQICQCAAQf///wdLDQAgAEEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIGIAZBgIAPakEQdkECcSIGdEEPdiACIARyIAZyayICQQF0IAAgAkEVanZBAXFyQRxqIQILIAFCADcCECABQRxqIAI2AgAgAkECdEG40oCAAGohBAJAAkBBACgCjNCAgAAiBkEBIAJ0IgNxDQAgBCABNgIAQQAgBiADcjYCjNCAgAAgAUEYaiAENgIAIAEgATYCCCABIAE2AgwMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgBCgCACEGAkADQCAGIgQoAgRBeHEgAEYNASACQR12IQYgAkEBdCECIAQgBkEEcWpBEGoiAygCACIGDQALIAMgATYCACABQRhqIAQ2AgAgASABNgIMIAEgATYCCAwBCyAEKAIIIgAgATYCDCAEIAE2AgggAUEYakEANgIAIAEgBDYCDCABIAA2AggLQQBBACgCqNCAgABBf2oiAUF/IAEbNgKo0ICAAAsLTgACQCAADQA/AEEQdA8LAkAgAEH//wNxDQAgAEF/TA0AAkAgAEEQdkAAIgBBf0cNAEEAQTA2AvjTgIAAQX8PCyAAQRB0DwsQy4CAgAAACwQAAAAL+wICA38BfgJAIAJFDQAgACABOgAAIAIgAGoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIFayICQSBJDQAgAa1CgYCAgBB+IQYgAyAFaiEBA0AgASAGNwMAIAFBGGogBjcDACABQRBqIAY3AwAgAUEIaiAGNwMAIAFBIGohASACQWBqIgJBH0sNAAsLIAALC45IAQBBgAgLhkgBAAAAAgAAAAMAAAAAAAAAAAAAAAQAAAAFAAAAAAAAAAAAAAAGAAAABwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEludmFsaWQgY2hhciBpbiB1cmwgcXVlcnkAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9ib2R5AENvbnRlbnQtTGVuZ3RoIG92ZXJmbG93AENodW5rIHNpemUgb3ZlcmZsb3cAUmVzcG9uc2Ugb3ZlcmZsb3cASW52YWxpZCBtZXRob2QgZm9yIEhUVFAveC54IHJlcXVlc3QASW52YWxpZCBtZXRob2QgZm9yIFJUU1AveC54IHJlcXVlc3QARXhwZWN0ZWQgU09VUkNFIG1ldGhvZCBmb3IgSUNFL3gueCByZXF1ZXN0AEludmFsaWQgY2hhciBpbiB1cmwgZnJhZ21lbnQgc3RhcnQARXhwZWN0ZWQgZG90AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fc3RhdHVzAEludmFsaWQgcmVzcG9uc2Ugc3RhdHVzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=";\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/client.js\nvar require_client = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/client.js"(exports, module2) {\n "use strict";\n init_define_process();\n var assert = require("assert");\n var net = require("net");\n var util = require_util();\n var timers = require_timers();\n var Request2 = require_undici_core_request();\n var DispatcherBase = require_dispatcher_base();\n var {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n InvalidArgumentError: InvalidArgumentError2,\n RequestAbortedError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError,\n ClientDestroyedError\n } = require_errors();\n var buildConnector = require_connect();\n var {\n kUrl,\n kReset,\n kServerName,\n kClient,\n kBusy,\n kParser,\n kConnect,\n kBlocking,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize\n } = require_symbols2();\n var FastBuffer = Buffer[Symbol.species];\n var kClosedResolve = Symbol("kClosedResolve");\n var channels = {};\n try {\n const diagnosticsChannel = require("diagnostics_channel");\n channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders");\n channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect");\n channels.connectError = diagnosticsChannel.channel("undici:client:connectError");\n channels.connected = diagnosticsChannel.channel("undici:client:connected");\n } catch {\n channels.sendHeaders = { hasSubscribers: false };\n channels.beforeConnect = { hasSubscribers: false };\n channels.connectError = { hasSubscribers: false };\n channels.connected = { hasSubscribers: false };\n }\n var Client = class extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import(\'../types/client\').Client.Options} options\n */\n constructor(url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect: connect2,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout\n } = {}) {\n super();\n if (keepAlive !== void 0) {\n throw new InvalidArgumentError2("unsupported keepAlive, use pipelining=0 instead");\n }\n if (socketTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");\n }\n if (requestTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");\n }\n if (idleTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported idleTimeout, use keepAliveTimeout instead");\n }\n if (maxKeepAliveTimeout !== void 0) {\n throw new InvalidArgumentError2("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");\n }\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError2("invalid maxHeaderSize");\n }\n if (socketPath != null && typeof socketPath !== "string") {\n throw new InvalidArgumentError2("invalid socketPath");\n }\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError2("invalid connectTimeout");\n }\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError2("invalid keepAliveTimeout");\n }\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError2("invalid keepAliveMaxTimeout");\n }\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError2("invalid keepAliveTimeoutThreshold");\n }\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError2("headersTimeout must be a positive integer or zero");\n }\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError2("bodyTimeout must be a positive integer or zero");\n }\n if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError2("maxRequestsPerClient must be a positive number");\n }\n if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError2("localAddress must be valid string IP address");\n }\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError2("maxResponseSize must be a positive number");\n }\n if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {\n throw new InvalidArgumentError2("autoSelectFamilyAttemptTimeout must be a positive number");\n }\n if (typeof connect2 !== "function") {\n connect2 = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout,\n ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,\n ...connect2\n });\n }\n this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];\n this[kUrl] = util.parseOrigin(url);\n this[kConnector] = connect2;\n this[kSocket] = null;\n this[kPipelining] = pipelining != null ? pipelining : 1;\n this[kMaxHeadersSize] = maxHeaderSize || 16384;\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];\n this[kServerName] = null;\n this[kLocalAddress] = localAddress != null ? localAddress : null;\n this[kResuming] = 0;\n this[kNeedDrain] = 0;\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\\r\n`;\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;\n this[kMaxRedirections] = maxRedirections;\n this[kMaxRequests] = maxRequestsPerClient;\n this[kClosedResolve] = null;\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;\n this[kQueue] = [];\n this[kRunningIdx] = 0;\n this[kPendingIdx] = 0;\n }\n get pipelining() {\n return this[kPipelining];\n }\n set pipelining(value) {\n this[kPipelining] = value;\n resume(this, true);\n }\n get [kPending]() {\n return this[kQueue].length - this[kPendingIdx];\n }\n get [kRunning]() {\n return this[kPendingIdx] - this[kRunningIdx];\n }\n get [kSize]() {\n return this[kQueue].length - this[kRunningIdx];\n }\n get [kConnected]() {\n return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;\n }\n get [kBusy]() {\n const socket = this[kSocket];\n return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;\n }\n /* istanbul ignore: only used for test */\n [kConnect](cb) {\n connect(this);\n this.once("connect", cb);\n }\n [kDispatch](opts, handler) {\n const origin = opts.origin || this[kUrl].origin;\n const request = new Request2(origin, opts, handler);\n this[kQueue].push(request);\n if (this[kResuming]) {\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n this[kResuming] = 1;\n define_process_default.nextTick(resume, this);\n } else {\n resume(this, true);\n }\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2;\n }\n return this[kNeedDrain] < 2;\n }\n async [kClose]() {\n return new Promise((resolve) => {\n if (!this[kSize]) {\n resolve(null);\n } else {\n this[kClosedResolve] = resolve;\n }\n });\n }\n async [kDestroy](err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(this, request, err);\n }\n const callback = /* @__PURE__ */ __name(() => {\n if (this[kClosedResolve]) {\n this[kClosedResolve]();\n this[kClosedResolve] = null;\n }\n resolve();\n }, "callback");\n if (!this[kSocket]) {\n queueMicrotask(callback);\n } else {\n util.destroy(this[kSocket].on("close", callback), err);\n }\n resume(this);\n });\n }\n };\n __name(Client, "Client");\n var constants = require_constants2();\n var createRedirectInterceptor = require_redirectInterceptor();\n var EMPTY_BUF = Buffer.alloc(0);\n async function lazyllhttp() {\n const llhttpWasmData = define_process_default.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;\n let mod;\n try {\n mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64"));\n } catch (e) {\n mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64"));\n }\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n wasm_on_url: (p, at, len) => {\n return 0;\n },\n wasm_on_status: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_message_begin: (p) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onMessageBegin() || 0;\n },\n wasm_on_header_field: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_header_value: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;\n },\n wasm_on_body: (p, at, len) => {\n assert.strictEqual(currentParser.ptr, p);\n const start = at - currentBufferPtr + currentBufferRef.byteOffset;\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;\n },\n wasm_on_message_complete: (p) => {\n assert.strictEqual(currentParser.ptr, p);\n return currentParser.onMessageComplete() || 0;\n }\n /* eslint-enable camelcase */\n }\n });\n }\n __name(lazyllhttp, "lazyllhttp");\n var llhttpInstance = null;\n var llhttpPromise = lazyllhttp();\n llhttpPromise.catch();\n var currentParser = null;\n var currentBufferRef = null;\n var currentBufferSize = 0;\n var currentBufferPtr = null;\n var TIMEOUT_HEADERS = 1;\n var TIMEOUT_BODY = 2;\n var TIMEOUT_IDLE = 3;\n var Parser = class {\n constructor(client, socket, { exports: exports2 }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);\n this.llhttp = exports2;\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);\n this.client = client;\n this.socket = socket;\n this.timeout = null;\n this.timeoutValue = null;\n this.timeoutType = null;\n this.statusCode = null;\n this.statusText = "";\n this.upgrade = false;\n this.headers = [];\n this.headersSize = 0;\n this.headersMaxSize = client[kMaxHeadersSize];\n this.shouldKeepAlive = false;\n this.paused = false;\n this.resume = this.resume.bind(this);\n this.bytesRead = 0;\n this.keepAlive = "";\n this.contentLength = "";\n this.connection = "";\n this.maxResponseSize = client[kMaxResponseSize];\n }\n setTimeout(value, type) {\n this.timeoutType = type;\n if (value !== this.timeoutValue) {\n timers.clearTimeout(this.timeout);\n if (value) {\n this.timeout = timers.setTimeout(onParserTimeout, value, this);\n if (this.timeout.unref) {\n this.timeout.unref();\n }\n } else {\n this.timeout = null;\n }\n this.timeoutValue = value;\n } else if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n }\n resume() {\n if (this.socket.destroyed || !this.paused) {\n return;\n }\n assert(this.ptr != null);\n assert(currentParser == null);\n this.llhttp.llhttp_resume(this.ptr);\n assert(this.timeoutType === TIMEOUT_BODY);\n if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n this.paused = false;\n this.execute(this.socket.read() || EMPTY_BUF);\n this.readMore();\n }\n readMore() {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read();\n if (chunk === null) {\n break;\n }\n this.execute(chunk);\n }\n }\n execute(data) {\n assert(this.ptr != null);\n assert(currentParser == null);\n assert(!this.paused);\n const { socket, llhttp } = this;\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr);\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096;\n currentBufferPtr = llhttp.malloc(currentBufferSize);\n }\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);\n try {\n let ret;\n try {\n currentBufferRef = data;\n currentParser = this;\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);\n } catch (err) {\n throw err;\n } finally {\n currentParser = null;\n currentBufferRef = null;\n }\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(data.slice(offset));\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true;\n socket.unshift(data.slice(offset));\n } else if (ret !== constants.ERROR.OK) {\n const ptr = llhttp.llhttp_get_error_reason(this.ptr);\n let message = "";\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);\n message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";\n }\n throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));\n }\n } catch (err) {\n util.destroy(socket, err);\n }\n }\n destroy() {\n assert(this.ptr != null);\n assert(currentParser == null);\n this.llhttp.llhttp_free(this.ptr);\n this.ptr = null;\n timers.clearTimeout(this.timeout);\n this.timeout = null;\n this.timeoutValue = null;\n this.timeoutType = null;\n this.paused = false;\n }\n onStatus(buf) {\n this.statusText = buf.toString();\n }\n onMessageBegin() {\n const { socket, client } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n if (!request) {\n return -1;\n }\n }\n onHeaderField(buf) {\n const len = this.headers.length;\n if ((len & 1) === 0) {\n this.headers.push(buf);\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);\n }\n this.trackHeader(buf.length);\n }\n onHeaderValue(buf) {\n let len = this.headers.length;\n if ((len & 1) === 1) {\n this.headers.push(buf);\n len += 1;\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);\n }\n const key = this.headers[len - 2];\n if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") {\n this.keepAlive += buf.toString();\n } else if (key.length === 10 && key.toString().toLowerCase() === "connection") {\n this.connection += buf.toString();\n } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") {\n this.contentLength += buf.toString();\n }\n this.trackHeader(buf.length);\n }\n trackHeader(len) {\n this.headersSize += len;\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError());\n }\n }\n onUpgrade(head) {\n const { upgrade, client, socket, headers, statusCode } = this;\n assert(upgrade);\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert(!socket.destroyed);\n assert(socket === client[kSocket]);\n assert(!this.paused);\n assert(request.upgrade || request.method === "CONNECT");\n this.statusCode = null;\n this.statusText = "";\n this.shouldKeepAlive = null;\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n socket.unshift(head);\n socket[kParser].destroy();\n socket[kParser] = null;\n socket[kClient] = null;\n socket[kError] = null;\n socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);\n client[kSocket] = null;\n client[kQueue][client[kRunningIdx]++] = null;\n client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));\n try {\n request.onUpgrade(statusCode, headers, socket);\n } catch (err) {\n util.destroy(socket, err);\n }\n resume(client);\n }\n onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n if (!request) {\n return -1;\n }\n assert(!this.upgrade);\n assert(this.statusCode < 200);\n if (statusCode === 100) {\n util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));\n return -1;\n }\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));\n return -1;\n }\n assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS);\n this.statusCode = statusCode;\n this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.\n request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];\n this.setTimeout(bodyTimeout, TIMEOUT_BODY);\n } else if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n if (request.method === "CONNECT") {\n assert(client[kRunning] === 1);\n this.upgrade = true;\n return 2;\n }\n if (upgrade) {\n assert(client[kRunning] === 1);\n this.upgrade = true;\n return 2;\n }\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n );\n if (timeout <= 0) {\n socket[kReset] = true;\n } else {\n client[kKeepAliveTimeoutValue] = timeout;\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];\n }\n } else {\n socket[kReset] = true;\n }\n let pause;\n try {\n pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;\n } catch (err) {\n util.destroy(socket, err);\n return -1;\n }\n if (request.method === "HEAD") {\n return 1;\n }\n if (statusCode < 200) {\n return 1;\n }\n if (socket[kBlocking]) {\n socket[kBlocking] = false;\n resume(client);\n }\n return pause ? constants.ERROR.PAUSED : 0;\n }\n onBody(buf) {\n const { client, socket, statusCode, maxResponseSize } = this;\n if (socket.destroyed) {\n return -1;\n }\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert.strictEqual(this.timeoutType, TIMEOUT_BODY);\n if (this.timeout) {\n if (this.timeout.refresh) {\n this.timeout.refresh();\n }\n }\n assert(statusCode >= 200);\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError());\n return -1;\n }\n this.bytesRead += buf.length;\n try {\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED;\n }\n } catch (err) {\n util.destroy(socket, err);\n return -1;\n }\n }\n onMessageComplete() {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1;\n }\n if (upgrade) {\n return;\n }\n const request = client[kQueue][client[kRunningIdx]];\n assert(request);\n assert(statusCode >= 100);\n this.statusCode = null;\n this.statusText = "";\n this.bytesRead = 0;\n this.contentLength = "";\n this.keepAlive = "";\n this.connection = "";\n assert(this.headers.length % 2 === 0);\n this.headers = [];\n this.headersSize = 0;\n if (statusCode < 200) {\n return;\n }\n if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError());\n return -1;\n }\n try {\n request.onComplete(headers);\n } catch (err) {\n errorRequest(client, request, err);\n }\n client[kQueue][client[kRunningIdx]++] = null;\n if (socket[kWriting]) {\n assert.strictEqual(client[kRunning], 0);\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (socket[kReset] && client[kRunning] === 0) {\n util.destroy(socket, new InformationalError("reset"));\n return constants.ERROR.PAUSED;\n } else if (client[kPipelining] === 1) {\n setImmediate(resume, client);\n } else {\n resume(client);\n }\n }\n };\n __name(Parser, "Parser");\n function onParserTimeout(parser) {\n const { socket, timeoutType, client } = parser;\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!parser.paused, "cannot be paused while waiting for headers");\n util.destroy(socket, new HeadersTimeoutError());\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!parser.paused) {\n util.destroy(socket, new BodyTimeoutError());\n }\n } else if (timeoutType === TIMEOUT_IDLE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);\n util.destroy(socket, new InformationalError("socket idle timeout"));\n }\n }\n __name(onParserTimeout, "onParserTimeout");\n function onSocketReadable() {\n const { [kParser]: parser } = this;\n parser.readMore();\n }\n __name(onSocketReadable, "onSocketReadable");\n function onSocketError(err) {\n const { [kParser]: parser } = this;\n assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");\n if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {\n parser.onMessageComplete();\n return;\n }\n this[kError] = err;\n onError(this[kClient], err);\n }\n __name(onSocketError, "onSocketError");\n function onError(client, err) {\n if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {\n assert(client[kPendingIdx] === client[kRunningIdx]);\n const requests = client[kQueue].splice(client[kRunningIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(client, request, err);\n }\n assert(client[kSize] === 0);\n }\n }\n __name(onError, "onError");\n function onSocketEnd() {\n const { [kParser]: parser } = this;\n if (parser.statusCode && !parser.shouldKeepAlive) {\n parser.onMessageComplete();\n return;\n }\n util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));\n }\n __name(onSocketEnd, "onSocketEnd");\n function onSocketClose() {\n const { [kClient]: client } = this;\n if (!this[kError] && this[kParser].statusCode && !this[kParser].shouldKeepAlive) {\n this[kParser].onMessageComplete();\n }\n this[kParser].destroy();\n this[kParser] = null;\n const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));\n client[kSocket] = null;\n if (client.destroyed) {\n assert(client[kPending] === 0);\n const requests = client[kQueue].splice(client[kRunningIdx]);\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i];\n errorRequest(client, request, err);\n }\n } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {\n const request = client[kQueue][client[kRunningIdx]];\n client[kQueue][client[kRunningIdx]++] = null;\n errorRequest(client, request, err);\n }\n client[kPendingIdx] = client[kRunningIdx];\n assert(client[kRunning] === 0);\n client.emit("disconnect", client[kUrl], [client], err);\n resume(client);\n }\n __name(onSocketClose, "onSocketClose");\n async function connect(client) {\n assert(!client[kConnecting]);\n assert(!client[kSocket]);\n let { host, hostname, protocol, port } = client[kUrl];\n if (hostname[0] === "[") {\n const idx = hostname.indexOf("]");\n assert(idx !== -1);\n const ip = hostname.substr(1, idx - 1);\n assert(net.isIP(ip));\n hostname = ip;\n }\n client[kConnecting] = true;\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n });\n }\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket2) => {\n if (err) {\n reject(err);\n } else {\n resolve(socket2);\n }\n });\n });\n if (client.destroyed) {\n util.destroy(socket.on("error", () => {\n }), new ClientDestroyedError());\n return;\n }\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise;\n llhttpPromise = null;\n }\n client[kConnecting] = false;\n assert(socket);\n socket[kNoRef] = false;\n socket[kWriting] = false;\n socket[kReset] = false;\n socket[kBlocking] = false;\n socket[kError] = null;\n socket[kParser] = new Parser(client, socket, llhttpInstance);\n socket[kClient] = client;\n socket[kCounter] = 0;\n socket[kMaxRequests] = client[kMaxRequests];\n socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);\n client[kSocket] = socket;\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n });\n }\n client.emit("connect", client[kUrl], [client]);\n } catch (err) {\n if (client.destroyed) {\n return;\n }\n client[kConnecting] = false;\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n });\n }\n if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {\n assert(client[kRunning] === 0);\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++];\n errorRequest(client, request, err);\n }\n } else {\n onError(client, err);\n }\n client.emit("connectionError", client[kUrl], [client], err);\n }\n resume(client);\n }\n __name(connect, "connect");\n function emitDrain(client) {\n client[kNeedDrain] = 0;\n client.emit("drain", client[kUrl], [client]);\n }\n __name(emitDrain, "emitDrain");\n function resume(client, sync) {\n if (client[kResuming] === 2) {\n return;\n }\n client[kResuming] = 2;\n _resume(client, sync);\n client[kResuming] = 0;\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx]);\n client[kPendingIdx] -= client[kRunningIdx];\n client[kRunningIdx] = 0;\n }\n }\n __name(resume, "resume");\n function _resume(client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0);\n return;\n }\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]();\n client[kClosedResolve] = null;\n return;\n }\n const socket = client[kSocket];\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref();\n socket[kNoRef] = true;\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref();\n socket[kNoRef] = false;\n }\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request2 = client[kQueue][client[kRunningIdx]];\n const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);\n }\n }\n }\n if (client[kBusy]) {\n client[kNeedDrain] = 2;\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1;\n define_process_default.nextTick(emitDrain, client);\n } else {\n emitDrain(client);\n }\n continue;\n }\n if (client[kPending] === 0) {\n return;\n }\n if (client[kRunning] >= (client[kPipelining] || 1)) {\n return;\n }\n const request = client[kQueue][client[kPendingIdx]];\n if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return;\n }\n client[kServerName] = request.servername;\n if (socket && socket.servername !== request.servername) {\n util.destroy(socket, new InformationalError("servername changed"));\n return;\n }\n }\n if (client[kConnecting]) {\n return;\n }\n if (!socket) {\n connect(client);\n return;\n }\n if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {\n return;\n }\n if (client[kRunning] > 0 && !request.idempotent) {\n return;\n }\n if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {\n return;\n }\n if (util.isStream(request.body) && util.bodyLength(request.body) === 0) {\n request.body.on(\n "data",\n /* istanbul ignore next */\n function() {\n assert(false);\n }\n ).on("error", function(err) {\n errorRequest(client, request, err);\n }).on("end", function() {\n util.destroy(this);\n });\n request.body = null;\n }\n if (client[kRunning] > 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) {\n return;\n }\n if (!request.aborted && write(client, request)) {\n client[kPendingIdx]++;\n } else {\n client[kQueue].splice(client[kPendingIdx], 1);\n }\n }\n }\n __name(_resume, "_resume");\n function write(client, request) {\n const { body, method, path, host, upgrade, headers, blocking, reset } = request;\n const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";\n if (body && typeof body.read === "function") {\n body.read(0);\n }\n let contentLength = util.bodyLength(body);\n if (contentLength === null) {\n contentLength = request.contentLength;\n }\n if (contentLength === 0 && !expectsPayload) {\n contentLength = null;\n }\n if (request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n errorRequest(client, request, new RequestContentLengthMismatchError());\n return false;\n }\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n const socket = client[kSocket];\n try {\n request.onConnect((err) => {\n if (request.aborted || request.completed) {\n return;\n }\n errorRequest(client, request, err || new RequestAbortedError());\n util.destroy(socket, new InformationalError("aborted"));\n });\n } catch (err) {\n errorRequest(client, request, err);\n }\n if (request.aborted) {\n return false;\n }\n if (method === "HEAD") {\n socket[kReset] = true;\n }\n if (upgrade || method === "CONNECT") {\n socket[kReset] = true;\n }\n if (reset != null) {\n socket[kReset] = reset;\n }\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true;\n }\n if (blocking) {\n socket[kBlocking] = true;\n }\n let header = `${method} ${path} HTTP/1.1\\r\n`;\n if (typeof host === "string") {\n header += `host: ${host}\\r\n`;\n } else {\n header += client[kHostHeader];\n }\n if (upgrade) {\n header += `connection: upgrade\\r\nupgrade: ${upgrade}\\r\n`;\n } else if (client[kPipelining] && !socket[kReset]) {\n header += "connection: keep-alive\\r\\n";\n } else {\n header += "connection: close\\r\\n";\n }\n if (headers) {\n header += headers;\n }\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket });\n }\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\n\\r\n`, "latin1");\n } else {\n assert(contentLength === null, "no body must not have content length");\n socket.write(`${header}\\r\n`, "latin1");\n }\n request.onRequestSent();\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, "buffer body must have content length");\n socket.cork();\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n socket.write(body);\n socket.uncork();\n request.onBodySent(body);\n request.onRequestSent();\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === "function") {\n writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload });\n } else {\n writeBlob({ body, client, request, socket, contentLength, header, expectsPayload });\n }\n } else if (util.isStream(body)) {\n writeStream({ body, client, request, socket, contentLength, header, expectsPayload });\n } else if (util.isIterable(body)) {\n writeIterable({ body, client, request, socket, contentLength, header, expectsPayload });\n } else {\n assert(false);\n }\n return true;\n }\n __name(write, "write");\n function writeStream({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");\n let finished = false;\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });\n const onData = /* @__PURE__ */ __name(function(chunk) {\n if (finished) {\n return;\n }\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause();\n }\n } catch (err) {\n util.destroy(this, err);\n }\n }, "onData");\n const onDrain = /* @__PURE__ */ __name(function() {\n if (finished) {\n return;\n }\n if (body.resume) {\n body.resume();\n }\n }, "onDrain");\n const onAbort = /* @__PURE__ */ __name(function() {\n onFinished(new RequestAbortedError());\n }, "onAbort");\n const onFinished = /* @__PURE__ */ __name(function(err) {\n if (finished) {\n return;\n }\n finished = true;\n assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);\n socket.off("drain", onDrain).off("error", onFinished);\n body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort);\n if (!err) {\n try {\n writer.end();\n } catch (er) {\n err = er;\n }\n }\n writer.destroy(err);\n if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {\n util.destroy(body, err);\n } else {\n util.destroy(body);\n }\n }, "onFinished");\n body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort);\n if (body.resume) {\n body.resume();\n }\n socket.on("drain", onDrain).on("error", onFinished);\n }\n __name(writeStream, "writeStream");\n async function writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength === body.size, "blob body must have content length");\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError();\n }\n const buffer = Buffer.from(await body.arrayBuffer());\n socket.cork();\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n socket.write(buffer);\n socket.uncork();\n request.onBodySent(buffer);\n request.onRequestSent();\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n resume(client);\n } catch (err) {\n util.destroy(socket, err);\n }\n }\n __name(writeBlob, "writeBlob");\n async function writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }) {\n assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");\n let callback = null;\n function onDrain() {\n if (callback) {\n const cb = callback;\n callback = null;\n cb();\n }\n }\n __name(onDrain, "onDrain");\n const waitForDrain = /* @__PURE__ */ __name(() => new Promise((resolve, reject) => {\n assert(callback === null);\n if (socket[kError]) {\n reject(socket[kError]);\n } else {\n callback = resolve;\n }\n }), "waitForDrain");\n socket.on("close", onDrain).on("drain", onDrain);\n const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });\n try {\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError];\n }\n if (!writer.write(chunk)) {\n await waitForDrain();\n }\n }\n writer.end();\n } catch (err) {\n writer.destroy(err);\n } finally {\n socket.off("close", onDrain).off("drain", onDrain);\n }\n }\n __name(writeIterable, "writeIterable");\n var AsyncWriter = class {\n constructor({ socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket;\n this.request = request;\n this.contentLength = contentLength;\n this.client = client;\n this.bytesWritten = 0;\n this.expectsPayload = expectsPayload;\n this.header = header;\n socket[kWriting] = true;\n }\n write(chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;\n if (socket[kError]) {\n throw socket[kError];\n }\n if (socket.destroyed) {\n return false;\n }\n const len = Buffer.byteLength(chunk);\n if (!len) {\n return true;\n }\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError();\n }\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n socket.cork();\n if (bytesWritten === 0) {\n if (!expectsPayload) {\n socket[kReset] = true;\n }\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\n`, "latin1");\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\n\\r\n`, "latin1");\n }\n }\n if (contentLength === null) {\n socket.write(`\\r\n${len.toString(16)}\\r\n`, "latin1");\n }\n this.bytesWritten += len;\n const ret = socket.write(chunk);\n socket.uncork();\n request.onBodySent(chunk);\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh();\n }\n }\n }\n return ret;\n }\n end() {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;\n request.onRequestSent();\n socket[kWriting] = false;\n if (socket[kError]) {\n throw socket[kError];\n }\n if (socket.destroyed) {\n return;\n }\n if (bytesWritten === 0) {\n if (expectsPayload) {\n socket.write(`${header}content-length: 0\\r\n\\r\n`, "latin1");\n } else {\n socket.write(`${header}\\r\n`, "latin1");\n }\n } else if (contentLength === null) {\n socket.write("\\r\\n0\\r\\n\\r\\n", "latin1");\n }\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError();\n } else {\n define_process_default.emitWarning(new RequestContentLengthMismatchError());\n }\n }\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh();\n }\n }\n resume(client);\n }\n destroy(err) {\n const { socket, client } = this;\n socket[kWriting] = false;\n if (err) {\n assert(client[kRunning] <= 1, "pipeline should only contain this request");\n util.destroy(socket, err);\n }\n }\n };\n __name(AsyncWriter, "AsyncWriter");\n function errorRequest(client, request, err) {\n try {\n request.onError(err);\n assert(request.aborted);\n } catch (err2) {\n client.emit("error", err2);\n }\n }\n __name(errorRequest, "errorRequest");\n module2.exports = Client;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool.js\nvar require_pool = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/pool.js"(exports, module2) {\n "use strict";\n init_define_process();\n var {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n } = require_pool_base();\n var Client = require_client();\n var {\n InvalidArgumentError: InvalidArgumentError2\n } = require_errors();\n var util = require_util();\n var { kUrl, kInterceptors } = require_symbols2();\n var buildConnector = require_connect();\n var kOptions = Symbol("options");\n var kConnections = Symbol("connections");\n var kFactory = Symbol("factory");\n function defaultFactory(origin, opts) {\n return new Client(origin, opts);\n }\n __name(defaultFactory, "defaultFactory");\n var Pool = class extends PoolBase {\n constructor(origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n ...options\n } = {}) {\n super();\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError2("invalid connections");\n }\n if (typeof factory !== "function") {\n throw new InvalidArgumentError2("factory must be a function.");\n }\n if (connect != null && typeof connect !== "function" && typeof connect !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (typeof connect !== "function") {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n socketPath,\n timeout: connectTimeout == null ? 1e4 : connectTimeout,\n ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,\n ...connect\n });\n }\n this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];\n this[kConnections] = connections || null;\n this[kUrl] = util.parseOrigin(origin);\n this[kOptions] = { ...util.deepClone(options), connect };\n this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;\n this[kFactory] = factory;\n }\n [kGetDispatcher]() {\n let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]);\n if (dispatcher) {\n return dispatcher;\n }\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n dispatcher = this[kFactory](this[kUrl], this[kOptions]);\n this[kAddClient](dispatcher);\n }\n return dispatcher;\n }\n };\n __name(Pool, "Pool");\n module2.exports = Pool;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/agent.js\nvar require_agent = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/agent.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols2();\n var DispatcherBase = require_dispatcher_base();\n var Pool = require_pool();\n var Client = require_client();\n var util = require_util();\n var createRedirectInterceptor = require_redirectInterceptor();\n var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()();\n var kOnConnect = Symbol("onConnect");\n var kOnDisconnect = Symbol("onDisconnect");\n var kOnConnectionError = Symbol("onConnectionError");\n var kMaxRedirections = Symbol("maxRedirections");\n var kOnDrain = Symbol("onDrain");\n var kFactory = Symbol("factory");\n var kFinalizer = Symbol("finalizer");\n var kOptions = Symbol("options");\n function defaultFactory(origin, opts) {\n return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);\n }\n __name(defaultFactory, "defaultFactory");\n var Agent2 = class extends DispatcherBase {\n constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n super();\n if (typeof factory !== "function") {\n throw new InvalidArgumentError2("factory must be a function.");\n }\n if (connect != null && typeof connect !== "function" && typeof connect !== "object") {\n throw new InvalidArgumentError2("connect must be a function or an object");\n }\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError2("maxRedirections must be a positive number");\n }\n if (connect && typeof connect !== "function") {\n connect = { ...connect };\n }\n this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];\n this[kOptions] = { ...util.deepClone(options), connect };\n this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;\n this[kMaxRedirections] = maxRedirections;\n this[kFactory] = factory;\n this[kClients] = /* @__PURE__ */ new Map();\n this[kFinalizer] = new FinalizationRegistry(\n /* istanbul ignore next: gc is undeterministic */\n (key) => {\n const ref = this[kClients].get(key);\n if (ref !== void 0 && ref.deref() === void 0) {\n this[kClients].delete(key);\n }\n }\n );\n const agent = this;\n this[kOnDrain] = (origin, targets) => {\n agent.emit("drain", origin, [agent, ...targets]);\n };\n this[kOnConnect] = (origin, targets) => {\n agent.emit("connect", origin, [agent, ...targets]);\n };\n this[kOnDisconnect] = (origin, targets, err) => {\n agent.emit("disconnect", origin, [agent, ...targets], err);\n };\n this[kOnConnectionError] = (origin, targets, err) => {\n agent.emit("connectionError", origin, [agent, ...targets], err);\n };\n }\n get [kRunning]() {\n let ret = 0;\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n ret += client[kRunning];\n }\n }\n return ret;\n }\n [kDispatch](opts, handler) {\n let key;\n if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {\n key = String(opts.origin);\n } else {\n throw new InvalidArgumentError2("opts.origin must be a non-empty string or URL.");\n }\n const ref = this[kClients].get(key);\n let dispatcher = ref ? ref.deref() : null;\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);\n this[kClients].set(key, new WeakRef2(dispatcher));\n this[kFinalizer].register(dispatcher, key);\n }\n return dispatcher.dispatch(opts, handler);\n }\n async [kClose]() {\n const closePromises = [];\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n closePromises.push(client.close());\n }\n }\n await Promise.all(closePromises);\n }\n async [kDestroy](err) {\n const destroyPromises = [];\n for (const ref of this[kClients].values()) {\n const client = ref.deref();\n if (client) {\n destroyPromises.push(client.destroy(err));\n }\n }\n await Promise.all(destroyPromises);\n }\n };\n __name(Agent2, "Agent");\n module2.exports = Agent2;\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/global.js\nvar require_global2 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/global.js"(exports, module2) {\n "use strict";\n init_define_process();\n var globalDispatcher2 = Symbol.for("undici.globalDispatcher.1");\n var { InvalidArgumentError: InvalidArgumentError2 } = require_errors();\n var Agent2 = require_agent();\n if (getGlobalDispatcher2() === void 0) {\n setGlobalDispatcher2(new Agent2());\n }\n function setGlobalDispatcher2(agent) {\n if (!agent || typeof agent.dispatch !== "function") {\n throw new InvalidArgumentError2("Argument agent must implement Agent");\n }\n Object.defineProperty(globalThis, globalDispatcher2, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n });\n }\n __name(setGlobalDispatcher2, "setGlobalDispatcher");\n function getGlobalDispatcher2() {\n return globalThis[globalDispatcher2];\n }\n __name(getGlobalDispatcher2, "getGlobalDispatcher");\n module2.exports = {\n setGlobalDispatcher: setGlobalDispatcher2,\n getGlobalDispatcher: getGlobalDispatcher2\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/index.js\nvar require_fetch = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/fetch/index.js"(exports, module2) {\n "use strict";\n init_define_process();\n var {\n Response: Response3,\n makeNetworkError,\n makeAppropriateNetworkError,\n filterResponse,\n makeResponse\n } = require_response();\n var { Headers: Headers3 } = require_headers();\n var { Request: Request2, makeRequest } = require_request();\n var zlib = require("zlib");\n var {\n bytesMatch,\n makePolicyContainer,\n clonePolicyContainer,\n requestBadPort,\n TAOCheck,\n appendRequestOriginHeader,\n responseLocationURL,\n requestCurrentURL,\n setRequestReferrerPolicyOnRedirect,\n tryUpgradeRequestToAPotentiallyTrustworthyURL,\n createOpaqueTimingInfo,\n appendFetchMetadata,\n corsCheck,\n crossOriginResourcePolicyCheck,\n determineRequestsReferrer,\n coarsenedSharedCurrentTime,\n createDeferredPromise,\n isBlobLike,\n sameOrigin,\n isCancelled,\n isAborted,\n isErrorLike,\n fullyReadBody,\n readableStreamClose,\n isomorphicEncode,\n urlIsLocal,\n urlIsHttpHttpsScheme,\n urlHasHttpsScheme\n } = require_util2();\n var { kState, kHeaders: kHeaders2, kGuard: kGuard2, kRealm } = require_symbols();\n var assert = require("assert");\n var { safelyExtractBody } = require_body();\n var {\n redirectStatus,\n nullBodyStatus,\n safeMethods,\n requestBodyHeader,\n subresource,\n DOMException\n } = require_constants();\n var { kHeadersList } = require_symbols2();\n var EE = require("events");\n var { Readable, pipeline } = require("stream");\n var { isErrored, isReadable, nodeMajor, nodeMinor } = require_util();\n var { dataURLProcessor, serializeAMimeType } = require_dataURL();\n var { TransformStream } = require("./streams");\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { webidl } = require_webidl();\n var { STATUS_CODES } = require("http");\n var resolveObjectURL;\n var ReadableStream = globalThis.ReadableStream;\n var Fetch = class extends EE {\n constructor(dispatcher) {\n super();\n this.dispatcher = dispatcher;\n this.connection = null;\n this.dump = false;\n this.state = "ongoing";\n this.setMaxListeners(21);\n }\n terminate(reason) {\n var _a;\n if (this.state !== "ongoing") {\n return;\n }\n this.state = "terminated";\n (_a = this.connection) == null ? void 0 : _a.destroy(reason);\n this.emit("terminated", reason);\n }\n // https://fetch.spec.whatwg.org/#fetch-controller-abort\n abort(error) {\n var _a;\n if (this.state !== "ongoing") {\n return;\n }\n this.state = "aborted";\n if (!error) {\n error = new DOMException("The operation was aborted.", "AbortError");\n }\n this.serializedAbortReason = error;\n (_a = this.connection) == null ? void 0 : _a.destroy(error);\n this.emit("terminated", error);\n }\n };\n __name(Fetch, "Fetch");\n async function fetch2(input, init = {}) {\n var _a;\n webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" });\n const p = createDeferredPromise();\n let requestObject;\n try {\n requestObject = new Request2(input, init);\n } catch (e) {\n p.reject(e);\n return p.promise;\n }\n const request = requestObject[kState];\n if (requestObject.signal.aborted) {\n abortFetch(p, request, null, requestObject.signal.reason);\n return p.promise;\n }\n const globalObject = request.client.globalObject;\n if (((_a = globalObject == null ? void 0 : globalObject.constructor) == null ? void 0 : _a.name) === "ServiceWorkerGlobalScope") {\n request.serviceWorkers = "none";\n }\n let responseObject = null;\n const relevantRealm = null;\n let locallyAborted = false;\n let controller = null;\n requestObject.signal.addEventListener(\n "abort",\n () => {\n locallyAborted = true;\n abortFetch(p, request, responseObject, requestObject.signal.reason);\n if (controller != null) {\n controller.abort();\n }\n },\n { once: true }\n );\n const handleFetchDone = /* @__PURE__ */ __name((response) => finalizeAndReportTiming(response, "fetch"), "handleFetchDone");\n const processResponse = /* @__PURE__ */ __name((response) => {\n if (locallyAborted) {\n return;\n }\n if (response.aborted) {\n abortFetch(p, request, responseObject, controller.serializedAbortReason);\n return;\n }\n if (response.type === "error") {\n p.reject(\n Object.assign(new TypeError("fetch failed"), { cause: response.error })\n );\n return;\n }\n responseObject = new Response3();\n responseObject[kState] = response;\n responseObject[kRealm] = relevantRealm;\n responseObject[kHeaders2][kHeadersList] = response.headersList;\n responseObject[kHeaders2][kGuard2] = "immutable";\n responseObject[kHeaders2][kRealm] = relevantRealm;\n p.resolve(responseObject);\n }, "processResponse");\n controller = fetching({\n request,\n processResponseEndOfBody: handleFetchDone,\n processResponse,\n dispatcher: init.dispatcher ?? getGlobalDispatcher2()\n // undici\n });\n return p.promise;\n }\n __name(fetch2, "fetch");\n function finalizeAndReportTiming(response, initiatorType = "other") {\n var _a;\n if (response.type === "error" && response.aborted) {\n return;\n }\n if (!((_a = response.urlList) == null ? void 0 : _a.length)) {\n return;\n }\n const originalURL = response.urlList[0];\n let timingInfo = response.timingInfo;\n let cacheState = response.cacheState;\n if (!urlIsHttpHttpsScheme(originalURL)) {\n return;\n }\n if (timingInfo === null) {\n return;\n }\n if (!timingInfo.timingAllowPassed) {\n timingInfo = createOpaqueTimingInfo({\n startTime: timingInfo.startTime\n });\n cacheState = "";\n }\n timingInfo.endTime = coarsenedSharedCurrentTime();\n response.timingInfo = timingInfo;\n markResourceTiming(\n timingInfo,\n originalURL,\n initiatorType,\n globalThis,\n cacheState\n );\n }\n __name(finalizeAndReportTiming, "finalizeAndReportTiming");\n function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) {\n if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) {\n performance.markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState);\n }\n }\n __name(markResourceTiming, "markResourceTiming");\n function abortFetch(p, request, responseObject, error) {\n var _a, _b;\n if (!error) {\n error = new DOMException("The operation was aborted.", "AbortError");\n }\n p.reject(error);\n if (request.body != null && isReadable((_a = request.body) == null ? void 0 : _a.stream)) {\n request.body.stream.cancel(error).catch((err) => {\n if (err.code === "ERR_INVALID_STATE") {\n return;\n }\n throw err;\n });\n }\n if (responseObject == null) {\n return;\n }\n const response = responseObject[kState];\n if (response.body != null && isReadable((_b = response.body) == null ? void 0 : _b.stream)) {\n response.body.stream.cancel(error).catch((err) => {\n if (err.code === "ERR_INVALID_STATE") {\n return;\n }\n throw err;\n });\n }\n }\n __name(abortFetch, "abortFetch");\n function fetching({\n request,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseEndOfBody,\n processResponseConsumeBody,\n useParallelQueue = false,\n dispatcher\n // undici\n }) {\n var _a, _b, _c, _d;\n let taskDestination = null;\n let crossOriginIsolatedCapability = false;\n if (request.client != null) {\n taskDestination = request.client.globalObject;\n crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability;\n }\n const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability);\n const timingInfo = createOpaqueTimingInfo({\n startTime: currenTime\n });\n const fetchParams = {\n controller: new Fetch(dispatcher),\n request,\n timingInfo,\n processRequestBodyChunkLength,\n processRequestEndOfBody,\n processResponse,\n processResponseConsumeBody,\n processResponseEndOfBody,\n taskDestination,\n crossOriginIsolatedCapability\n };\n assert(!request.body || request.body.stream);\n if (request.window === "client") {\n request.window = ((_c = (_b = (_a = request.client) == null ? void 0 : _a.globalObject) == null ? void 0 : _b.constructor) == null ? void 0 : _c.name) === "Window" ? request.client : "no-window";\n }\n if (request.origin === "client") {\n request.origin = (_d = request.client) == null ? void 0 : _d.origin;\n }\n if (request.policyContainer === "client") {\n if (request.client != null) {\n request.policyContainer = clonePolicyContainer(\n request.client.policyContainer\n );\n } else {\n request.policyContainer = makePolicyContainer();\n }\n }\n if (!request.headersList.contains("accept")) {\n const value = "*/*";\n request.headersList.append("accept", value);\n }\n if (!request.headersList.contains("accept-language")) {\n request.headersList.append("accept-language", "*");\n }\n if (request.priority === null) {\n }\n if (subresource.includes(request.destination)) {\n }\n mainFetch(fetchParams).catch((err) => {\n fetchParams.controller.terminate(err);\n });\n return fetchParams.controller;\n }\n __name(fetching, "fetching");\n async function mainFetch(fetchParams, recursive = false) {\n const request = fetchParams.request;\n let response = null;\n if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) {\n response = makeNetworkError("local URLs only");\n }\n tryUpgradeRequestToAPotentiallyTrustworthyURL(request);\n if (requestBadPort(request) === "blocked") {\n response = makeNetworkError("bad port");\n }\n if (request.referrerPolicy === "") {\n request.referrerPolicy = request.policyContainer.referrerPolicy;\n }\n if (request.referrer !== "no-referrer") {\n request.referrer = determineRequestsReferrer(request);\n }\n if (response === null) {\n response = await (async () => {\n const currentURL = requestCurrentURL(request);\n if (\n // - request’s current URL’s origin is same origin with request’s origin,\n // and request’s response tainting is "basic"\n sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data"\n currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket"\n (request.mode === "navigate" || request.mode === "websocket")\n ) {\n request.responseTainting = "basic";\n return await schemeFetch(fetchParams);\n }\n if (request.mode === "same-origin") {\n return makeNetworkError(\'request mode cannot be "same-origin"\');\n }\n if (request.mode === "no-cors") {\n if (request.redirect !== "follow") {\n return makeNetworkError(\n \'redirect mode cannot be "follow" for "no-cors" request\'\n );\n }\n request.responseTainting = "opaque";\n return await schemeFetch(fetchParams);\n }\n if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) {\n return makeNetworkError("URL scheme must be a HTTP(S) scheme");\n }\n request.responseTainting = "cors";\n return await httpFetch(fetchParams);\n })();\n }\n if (recursive) {\n return response;\n }\n if (response.status !== 0 && !response.internalResponse) {\n if (request.responseTainting === "cors") {\n }\n if (request.responseTainting === "basic") {\n response = filterResponse(response, "basic");\n } else if (request.responseTainting === "cors") {\n response = filterResponse(response, "cors");\n } else if (request.responseTainting === "opaque") {\n response = filterResponse(response, "opaque");\n } else {\n assert(false);\n }\n }\n let internalResponse = response.status === 0 ? response : response.internalResponse;\n if (internalResponse.urlList.length === 0) {\n internalResponse.urlList.push(...request.urlList);\n }\n if (!request.timingAllowFailed) {\n response.timingAllowPassed = true;\n }\n if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) {\n response = internalResponse = makeNetworkError();\n }\n if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) {\n internalResponse.body = null;\n fetchParams.controller.dump = true;\n }\n if (request.integrity) {\n const processBodyError = /* @__PURE__ */ __name((reason) => fetchFinale(fetchParams, makeNetworkError(reason)), "processBodyError");\n if (request.responseTainting === "opaque" || response.body == null) {\n processBodyError(response.error);\n return;\n }\n const processBody = /* @__PURE__ */ __name((bytes) => {\n if (!bytesMatch(bytes, request.integrity)) {\n processBodyError("integrity mismatch");\n return;\n }\n response.body = safelyExtractBody(bytes)[0];\n fetchFinale(fetchParams, response);\n }, "processBody");\n await fullyReadBody(response.body, processBody, processBodyError);\n } else {\n fetchFinale(fetchParams, response);\n }\n }\n __name(mainFetch, "mainFetch");\n async function schemeFetch(fetchParams) {\n if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) {\n return makeAppropriateNetworkError(fetchParams);\n }\n const { request } = fetchParams;\n const { protocol: scheme } = requestCurrentURL(request);\n switch (scheme) {\n case "about:": {\n return makeNetworkError("about scheme is not supported");\n }\n case "blob:": {\n if (!resolveObjectURL) {\n resolveObjectURL = require("buffer").resolveObjectURL;\n }\n const blobURLEntry = requestCurrentURL(request);\n if (blobURLEntry.search.length !== 0) {\n return makeNetworkError("NetworkError when attempting to fetch resource.");\n }\n const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString());\n if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) {\n return makeNetworkError("invalid method");\n }\n const bodyWithType = safelyExtractBody(blobURLEntryObject);\n const body = bodyWithType[0];\n const length = isomorphicEncode(`${body.length}`);\n const type = bodyWithType[1] ?? "";\n const response = makeResponse({\n statusText: "OK",\n headersList: [\n ["content-length", { name: "Content-Length", value: length }],\n ["content-type", { name: "Content-Type", value: type }]\n ]\n });\n response.body = body;\n return response;\n }\n case "data:": {\n const currentURL = requestCurrentURL(request);\n const dataURLStruct = dataURLProcessor(currentURL);\n if (dataURLStruct === "failure") {\n return makeNetworkError("failed to fetch the data URL");\n }\n const mimeType = serializeAMimeType(dataURLStruct.mimeType);\n return makeResponse({\n statusText: "OK",\n headersList: [\n ["content-type", { name: "Content-Type", value: mimeType }]\n ],\n body: safelyExtractBody(dataURLStruct.body)[0]\n });\n }\n case "file:": {\n return makeNetworkError("not implemented... yet...");\n }\n case "http:":\n case "https:": {\n return await httpFetch(fetchParams).catch((err) => makeNetworkError(err));\n }\n default: {\n return makeNetworkError("unknown scheme");\n }\n }\n }\n __name(schemeFetch, "schemeFetch");\n function finalizeResponse(fetchParams, response) {\n fetchParams.request.done = true;\n if (fetchParams.processResponseDone != null) {\n queueMicrotask(() => fetchParams.processResponseDone(response));\n }\n }\n __name(finalizeResponse, "finalizeResponse");\n async function fetchFinale(fetchParams, response) {\n if (response.type === "error") {\n response.urlList = [fetchParams.request.urlList[0]];\n response.timingInfo = createOpaqueTimingInfo({\n startTime: fetchParams.timingInfo.startTime\n });\n }\n const processResponseEndOfBody = /* @__PURE__ */ __name(() => {\n fetchParams.request.done = true;\n if (fetchParams.processResponseEndOfBody != null) {\n queueMicrotask(() => fetchParams.processResponseEndOfBody(response));\n }\n }, "processResponseEndOfBody");\n if (fetchParams.processResponse != null) {\n queueMicrotask(() => fetchParams.processResponse(response));\n }\n if (response.body == null) {\n processResponseEndOfBody();\n } else {\n const identityTransformAlgorithm = /* @__PURE__ */ __name((chunk, controller) => {\n controller.enqueue(chunk);\n }, "identityTransformAlgorithm");\n const transformStream = new TransformStream({\n start() {\n },\n transform: identityTransformAlgorithm,\n flush: processResponseEndOfBody\n }, {\n size() {\n return 1;\n }\n }, {\n size() {\n return 1;\n }\n });\n response.body = { stream: response.body.stream.pipeThrough(transformStream) };\n }\n if (fetchParams.processResponseConsumeBody != null) {\n const processBody = /* @__PURE__ */ __name((nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes), "processBody");\n const processBodyError = /* @__PURE__ */ __name((failure) => fetchParams.processResponseConsumeBody(response, failure), "processBodyError");\n if (response.body == null) {\n queueMicrotask(() => processBody(null));\n } else {\n await fullyReadBody(response.body, processBody, processBodyError);\n }\n }\n }\n __name(fetchFinale, "fetchFinale");\n async function httpFetch(fetchParams) {\n const request = fetchParams.request;\n let response = null;\n let actualResponse = null;\n const timingInfo = fetchParams.timingInfo;\n if (request.serviceWorkers === "all") {\n }\n if (response === null) {\n if (request.redirect === "follow") {\n request.serviceWorkers = "none";\n }\n actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);\n if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {\n return makeNetworkError("cors failure");\n }\n if (TAOCheck(request, response) === "failure") {\n request.timingAllowFailed = true;\n }\n }\n if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(\n request.origin,\n request.client,\n request.destination,\n actualResponse\n ) === "blocked") {\n return makeNetworkError("blocked");\n }\n if (redirectStatus.includes(actualResponse.status)) {\n if (request.redirect !== "manual") {\n fetchParams.controller.connection.destroy();\n }\n if (request.redirect === "error") {\n response = makeNetworkError("unexpected redirect");\n } else if (request.redirect === "manual") {\n response = actualResponse;\n } else if (request.redirect === "follow") {\n response = await httpRedirectFetch(fetchParams, response);\n } else {\n assert(false);\n }\n }\n response.timingInfo = timingInfo;\n return response;\n }\n __name(httpFetch, "httpFetch");\n async function httpRedirectFetch(fetchParams, response) {\n const request = fetchParams.request;\n const actualResponse = response.internalResponse ? response.internalResponse : response;\n let locationURL;\n try {\n locationURL = responseLocationURL(\n actualResponse,\n requestCurrentURL(request).hash\n );\n if (locationURL == null) {\n return response;\n }\n } catch (err) {\n return makeNetworkError(err);\n }\n if (!urlIsHttpHttpsScheme(locationURL)) {\n return makeNetworkError("URL scheme must be a HTTP(S) scheme");\n }\n if (request.redirectCount === 20) {\n return makeNetworkError("redirect count exceeded");\n }\n request.redirectCount += 1;\n if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) {\n return makeNetworkError(\'cross origin not allowed for request mode "cors"\');\n }\n if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) {\n return makeNetworkError(\n \'URL cannot contain credentials for request mode "cors"\'\n );\n }\n if (actualResponse.status !== 303 && request.body != null && request.body.source == null) {\n return makeNetworkError();\n }\n if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !["GET", "HEAD"].includes(request.method)) {\n request.method = "GET";\n request.body = null;\n for (const headerName of requestBodyHeader) {\n request.headersList.delete(headerName);\n }\n }\n if (!sameOrigin(requestCurrentURL(request), locationURL)) {\n request.headersList.delete("authorization");\n }\n if (request.body != null) {\n assert(request.body.source != null);\n request.body = safelyExtractBody(request.body.source)[0];\n }\n const timingInfo = fetchParams.timingInfo;\n timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability);\n if (timingInfo.redirectStartTime === 0) {\n timingInfo.redirectStartTime = timingInfo.startTime;\n }\n request.urlList.push(locationURL);\n setRequestReferrerPolicyOnRedirect(request, actualResponse);\n return mainFetch(fetchParams, true);\n }\n __name(httpRedirectFetch, "httpRedirectFetch");\n async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) {\n const request = fetchParams.request;\n let httpFetchParams = null;\n let httpRequest = null;\n let response = null;\n const httpCache = null;\n const revalidatingFlag = false;\n if (request.window === "no-window" && request.redirect === "error") {\n httpFetchParams = fetchParams;\n httpRequest = request;\n } else {\n httpRequest = makeRequest(request);\n httpFetchParams = { ...fetchParams };\n httpFetchParams.request = httpRequest;\n }\n const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic";\n const contentLength = httpRequest.body ? httpRequest.body.length : null;\n let contentLengthHeaderValue = null;\n if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) {\n contentLengthHeaderValue = "0";\n }\n if (contentLength != null) {\n contentLengthHeaderValue = isomorphicEncode(`${contentLength}`);\n }\n if (contentLengthHeaderValue != null) {\n httpRequest.headersList.append("content-length", contentLengthHeaderValue);\n }\n if (contentLength != null && httpRequest.keepalive) {\n }\n if (httpRequest.referrer instanceof URL) {\n httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href));\n }\n appendRequestOriginHeader(httpRequest);\n appendFetchMetadata(httpRequest);\n if (!httpRequest.headersList.contains("user-agent")) {\n httpRequest.headersList.append("user-agent", "undici");\n }\n if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) {\n httpRequest.cache = "no-store";\n }\n if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) {\n httpRequest.headersList.append("cache-control", "max-age=0");\n }\n if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") {\n if (!httpRequest.headersList.contains("pragma")) {\n httpRequest.headersList.append("pragma", "no-cache");\n }\n if (!httpRequest.headersList.contains("cache-control")) {\n httpRequest.headersList.append("cache-control", "no-cache");\n }\n }\n if (httpRequest.headersList.contains("range")) {\n httpRequest.headersList.append("accept-encoding", "identity");\n }\n if (!httpRequest.headersList.contains("accept-encoding")) {\n if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) {\n httpRequest.headersList.append("accept-encoding", "br, gzip, deflate");\n } else {\n httpRequest.headersList.append("accept-encoding", "gzip, deflate");\n }\n }\n if (includeCredentials) {\n }\n if (httpCache == null) {\n httpRequest.cache = "no-store";\n }\n if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") {\n }\n if (response == null) {\n if (httpRequest.mode === "only-if-cached") {\n return makeNetworkError("only if cached");\n }\n const forwardResponse = await httpNetworkFetch(\n httpFetchParams,\n includeCredentials,\n isNewConnectionFetch\n );\n if (!safeMethods.includes(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) {\n }\n if (revalidatingFlag && forwardResponse.status === 304) {\n }\n if (response == null) {\n response = forwardResponse;\n }\n }\n response.urlList = [...httpRequest.urlList];\n if (httpRequest.headersList.contains("range")) {\n response.rangeRequested = true;\n }\n response.requestIncludesCredentials = includeCredentials;\n if (response.status === 407) {\n if (request.window === "no-window") {\n return makeNetworkError();\n }\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams);\n }\n return makeNetworkError("proxy authentication required");\n }\n if (\n // response’s status is 421\n response.status === 421 && // isNewConnectionFetch is false\n !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null\n (request.body == null || request.body.source != null)\n ) {\n if (isCancelled(fetchParams)) {\n return makeAppropriateNetworkError(fetchParams);\n }\n fetchParams.controller.connection.destroy();\n response = await httpNetworkOrCacheFetch(\n fetchParams,\n isAuthenticationFetch,\n true\n );\n }\n if (isAuthenticationFetch) {\n }\n return response;\n }\n __name(httpNetworkOrCacheFetch, "httpNetworkOrCacheFetch");\n async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) {\n assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed);\n fetchParams.controller.connection = {\n abort: null,\n destroyed: false,\n destroy(err) {\n var _a;\n if (!this.destroyed) {\n this.destroyed = true;\n (_a = this.abort) == null ? void 0 : _a.call(this, err ?? new DOMException("The operation was aborted.", "AbortError"));\n }\n }\n };\n const request = fetchParams.request;\n let response = null;\n const timingInfo = fetchParams.timingInfo;\n const httpCache = null;\n if (httpCache == null) {\n request.cache = "no-store";\n }\n const newConnection = forceNewConnection ? "yes" : "no";\n if (request.mode === "websocket") {\n } else {\n }\n let requestBody = null;\n if (request.body == null && fetchParams.processRequestEndOfBody) {\n queueMicrotask(() => fetchParams.processRequestEndOfBody());\n } else if (request.body != null) {\n const processBodyChunk = /* @__PURE__ */ __name(async function* (bytes) {\n var _a;\n if (isCancelled(fetchParams)) {\n return;\n }\n yield bytes;\n (_a = fetchParams.processRequestBodyChunkLength) == null ? void 0 : _a.call(fetchParams, bytes.byteLength);\n }, "processBodyChunk");\n const processEndOfBody = /* @__PURE__ */ __name(() => {\n if (isCancelled(fetchParams)) {\n return;\n }\n if (fetchParams.processRequestEndOfBody) {\n fetchParams.processRequestEndOfBody();\n }\n }, "processEndOfBody");\n const processBodyError = /* @__PURE__ */ __name((e) => {\n if (isCancelled(fetchParams)) {\n return;\n }\n if (e.name === "AbortError") {\n fetchParams.controller.abort();\n } else {\n fetchParams.controller.terminate(e);\n }\n }, "processBodyError");\n requestBody = async function* () {\n try {\n for await (const bytes of request.body.stream) {\n yield* processBodyChunk(bytes);\n }\n processEndOfBody();\n } catch (err) {\n processBodyError(err);\n }\n }();\n }\n try {\n const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody });\n if (socket) {\n response = makeResponse({ status, statusText, headersList, socket });\n } else {\n const iterator = body[Symbol.asyncIterator]();\n fetchParams.controller.next = () => iterator.next();\n response = makeResponse({ status, statusText, headersList });\n }\n } catch (err) {\n if (err.name === "AbortError") {\n fetchParams.controller.connection.destroy();\n return makeAppropriateNetworkError(fetchParams);\n }\n return makeNetworkError(err);\n }\n const pullAlgorithm = /* @__PURE__ */ __name(() => {\n fetchParams.controller.resume();\n }, "pullAlgorithm");\n const cancelAlgorithm = /* @__PURE__ */ __name((reason) => {\n fetchParams.controller.abort(reason);\n }, "cancelAlgorithm");\n if (!ReadableStream) {\n ReadableStream = require("./streams").ReadableStream;\n }\n const stream = new ReadableStream(\n {\n async start(controller) {\n fetchParams.controller.controller = controller;\n },\n async pull(controller) {\n await pullAlgorithm(controller);\n },\n async cancel(reason) {\n await cancelAlgorithm(reason);\n }\n },\n {\n highWaterMark: 0,\n size() {\n return 1;\n }\n }\n );\n response.body = { stream };\n fetchParams.controller.on("terminated", onAborted);\n fetchParams.controller.resume = async () => {\n while (true) {\n let bytes;\n let isFailure;\n try {\n const { done, value } = await fetchParams.controller.next();\n if (isAborted(fetchParams)) {\n break;\n }\n bytes = done ? void 0 : value;\n } catch (err) {\n if (fetchParams.controller.ended && !timingInfo.encodedBodySize) {\n bytes = void 0;\n } else {\n bytes = err;\n isFailure = true;\n }\n }\n if (bytes === void 0) {\n readableStreamClose(fetchParams.controller.controller);\n finalizeResponse(fetchParams, response);\n return;\n }\n timingInfo.decodedBodySize += (bytes == null ? void 0 : bytes.byteLength) ?? 0;\n if (isFailure) {\n fetchParams.controller.terminate(bytes);\n return;\n }\n fetchParams.controller.controller.enqueue(new Uint8Array(bytes));\n if (isErrored(stream)) {\n fetchParams.controller.terminate();\n return;\n }\n if (!fetchParams.controller.controller.desiredSize) {\n return;\n }\n }\n };\n function onAborted(reason) {\n if (isAborted(fetchParams)) {\n response.aborted = true;\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(\n fetchParams.controller.serializedAbortReason\n );\n }\n } else {\n if (isReadable(stream)) {\n fetchParams.controller.controller.error(new TypeError("terminated", {\n cause: isErrorLike(reason) ? reason : void 0\n }));\n }\n }\n fetchParams.controller.connection.destroy();\n }\n __name(onAborted, "onAborted");\n return response;\n async function dispatch({ body }) {\n const url = requestCurrentURL(request);\n const agent = fetchParams.controller.dispatcher;\n return new Promise((resolve, reject) => agent.dispatch(\n {\n path: url.pathname + url.search,\n origin: url.origin,\n method: request.method,\n body: fetchParams.controller.dispatcher.isMockActive ? request.body && request.body.source : body,\n headers: request.headersList.entries,\n maxRedirections: 0,\n upgrade: request.mode === "websocket" ? "websocket" : void 0\n },\n {\n body: null,\n abort: null,\n onConnect(abort) {\n const { connection } = fetchParams.controller;\n if (connection.destroyed) {\n abort(new DOMException("The operation was aborted.", "AbortError"));\n } else {\n fetchParams.controller.on("terminated", abort);\n this.abort = connection.abort = abort;\n }\n },\n onHeaders(status, headersList, resume, statusText) {\n if (status < 200) {\n return;\n }\n let codings = [];\n let location = "";\n const headers = new Headers3();\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString("latin1");\n const val = headersList[n + 1].toString("latin1");\n if (key.toLowerCase() === "content-encoding") {\n codings = val.toLowerCase().split(",").map((x) => x.trim());\n } else if (key.toLowerCase() === "location") {\n location = val;\n }\n headers.append(key, val);\n }\n this.body = new Readable({ read: resume });\n const decoders = [];\n const willFollow = request.redirect === "follow" && location && redirectStatus.includes(status);\n if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {\n for (const coding of codings) {\n if (coding === "x-gzip" || coding === "gzip") {\n decoders.push(zlib.createGunzip());\n } else if (coding === "deflate") {\n decoders.push(zlib.createInflate());\n } else if (coding === "br") {\n decoders.push(zlib.createBrotliDecompress());\n } else {\n decoders.length = 0;\n break;\n }\n }\n }\n resolve({\n status,\n statusText,\n headersList: headers[kHeadersList],\n body: decoders.length ? pipeline(this.body, ...decoders, () => {\n }) : this.body.on("error", () => {\n })\n });\n return true;\n },\n onData(chunk) {\n if (fetchParams.controller.dump) {\n return;\n }\n const bytes = chunk;\n timingInfo.encodedBodySize += bytes.byteLength;\n return this.body.push(bytes);\n },\n onComplete() {\n if (this.abort) {\n fetchParams.controller.off("terminated", this.abort);\n }\n fetchParams.controller.ended = true;\n this.body.push(null);\n },\n onError(error) {\n var _a;\n if (this.abort) {\n fetchParams.controller.off("terminated", this.abort);\n }\n (_a = this.body) == null ? void 0 : _a.destroy(error);\n fetchParams.controller.terminate(error);\n reject(error);\n },\n onUpgrade(status, headersList, socket) {\n if (status !== 101) {\n return;\n }\n const headers = new Headers3();\n for (let n = 0; n < headersList.length; n += 2) {\n const key = headersList[n + 0].toString("latin1");\n const val = headersList[n + 1].toString("latin1");\n headers.append(key, val);\n }\n resolve({\n status,\n statusText: STATUS_CODES[status],\n headersList: headers[kHeadersList],\n socket\n });\n return true;\n }\n }\n ));\n }\n __name(dispatch, "dispatch");\n }\n __name(httpNetworkFetch, "httpNetworkFetch");\n module2.exports = {\n fetch: fetch2,\n Fetch,\n fetching,\n finalizeAndReportTiming\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/constants.js\nvar require_constants3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/constants.js"(exports, module2) {\n "use strict";\n init_define_process();\n var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";\n var staticPropertyDescriptors = {\n enumerable: true,\n writable: false,\n configurable: false\n };\n var states = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3\n };\n var opcodes = {\n CONTINUATION: 0,\n TEXT: 1,\n BINARY: 2,\n CLOSE: 8,\n PING: 9,\n PONG: 10\n };\n var maxUnsigned16Bit = 2 ** 16 - 1;\n var parserStates = {\n INFO: 0,\n PAYLOADLENGTH_16: 2,\n PAYLOADLENGTH_64: 3,\n READ_DATA: 4\n };\n var emptyBuffer = Buffer.allocUnsafe(0);\n module2.exports = {\n uid,\n staticPropertyDescriptors,\n states,\n opcodes,\n maxUnsigned16Bit,\n parserStates,\n emptyBuffer\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/symbols.js\nvar require_symbols3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/symbols.js"(exports, module2) {\n "use strict";\n init_define_process();\n module2.exports = {\n kWebSocketURL: Symbol("url"),\n kReadyState: Symbol("ready state"),\n kController: Symbol("controller"),\n kResponse: Symbol("response"),\n kBinaryType: Symbol("binary type"),\n kSentClose: Symbol("sent close"),\n kReceivedClose: Symbol("received close"),\n kByteParser: Symbol("byte parser")\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/events.js\nvar require_events = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/events.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { webidl } = require_webidl();\n var { kEnumerableProperty } = require_util();\n var { MessagePort } = require("worker_threads");\n var MessageEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" });\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.MessageEventInit(eventInitDict);\n super(type, eventInitDict);\n this.#eventInit = eventInitDict;\n }\n get data() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.data;\n }\n get origin() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.origin;\n }\n get lastEventId() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.lastEventId;\n }\n get source() {\n webidl.brandCheck(this, MessageEvent);\n return this.#eventInit.source;\n }\n get ports() {\n webidl.brandCheck(this, MessageEvent);\n if (!Object.isFrozen(this.#eventInit.ports)) {\n Object.freeze(this.#eventInit.ports);\n }\n return this.#eventInit.ports;\n }\n initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) {\n webidl.brandCheck(this, MessageEvent);\n webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" });\n return new MessageEvent(type, {\n bubbles,\n cancelable,\n data,\n origin,\n lastEventId,\n source,\n ports\n });\n }\n };\n __name(MessageEvent, "MessageEvent");\n var CloseEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict = {}) {\n webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" });\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.CloseEventInit(eventInitDict);\n super(type, eventInitDict);\n this.#eventInit = eventInitDict;\n }\n get wasClean() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.wasClean;\n }\n get code() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.code;\n }\n get reason() {\n webidl.brandCheck(this, CloseEvent);\n return this.#eventInit.reason;\n }\n };\n __name(CloseEvent, "CloseEvent");\n var ErrorEvent = class extends Event {\n #eventInit;\n constructor(type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });\n super(type, eventInitDict);\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});\n this.#eventInit = eventInitDict;\n }\n get message() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.message;\n }\n get filename() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.filename;\n }\n get lineno() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.lineno;\n }\n get colno() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.colno;\n }\n get error() {\n webidl.brandCheck(this, ErrorEvent);\n return this.#eventInit.error;\n }\n };\n __name(ErrorEvent, "ErrorEvent");\n Object.defineProperties(MessageEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "MessageEvent",\n configurable: true\n },\n data: kEnumerableProperty,\n origin: kEnumerableProperty,\n lastEventId: kEnumerableProperty,\n source: kEnumerableProperty,\n ports: kEnumerableProperty,\n initMessageEvent: kEnumerableProperty\n });\n Object.defineProperties(CloseEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "CloseEvent",\n configurable: true\n },\n reason: kEnumerableProperty,\n code: kEnumerableProperty,\n wasClean: kEnumerableProperty\n });\n Object.defineProperties(ErrorEvent.prototype, {\n [Symbol.toStringTag]: {\n value: "ErrorEvent",\n configurable: true\n },\n message: kEnumerableProperty,\n filename: kEnumerableProperty,\n lineno: kEnumerableProperty,\n colno: kEnumerableProperty,\n error: kEnumerableProperty\n });\n webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort);\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.MessagePort\n );\n var eventInit = [\n {\n key: "bubbles",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "cancelable",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "composed",\n converter: webidl.converters.boolean,\n defaultValue: false\n }\n ];\n webidl.converters.MessageEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "data",\n converter: webidl.converters.any,\n defaultValue: null\n },\n {\n key: "origin",\n converter: webidl.converters.USVString,\n defaultValue: ""\n },\n {\n key: "lastEventId",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "source",\n // Node doesn\'t implement WindowProxy or ServiceWorker, so the only\n // valid value for source is a MessagePort.\n converter: webidl.nullableConverter(webidl.converters.MessagePort),\n defaultValue: null\n },\n {\n key: "ports",\n converter: webidl.converters["sequence"],\n get defaultValue() {\n return [];\n }\n }\n ]);\n webidl.converters.CloseEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "wasClean",\n converter: webidl.converters.boolean,\n defaultValue: false\n },\n {\n key: "code",\n converter: webidl.converters["unsigned short"],\n defaultValue: 0\n },\n {\n key: "reason",\n converter: webidl.converters.USVString,\n defaultValue: ""\n }\n ]);\n webidl.converters.ErrorEventInit = webidl.dictionaryConverter([\n ...eventInit,\n {\n key: "message",\n converter: webidl.converters.DOMString,\n defaultValue: ""\n },\n {\n key: "filename",\n converter: webidl.converters.USVString,\n defaultValue: ""\n },\n {\n key: "lineno",\n converter: webidl.converters["unsigned long"],\n defaultValue: 0\n },\n {\n key: "colno",\n converter: webidl.converters["unsigned long"],\n defaultValue: 0\n },\n {\n key: "error",\n converter: webidl.converters.any\n }\n ]);\n module2.exports = {\n MessageEvent,\n CloseEvent,\n ErrorEvent\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/util.js\nvar require_util3 = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/util.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols3();\n var { states, opcodes } = require_constants3();\n var { MessageEvent, ErrorEvent } = require_events();\n function isEstablished(ws) {\n return ws[kReadyState] === states.OPEN;\n }\n __name(isEstablished, "isEstablished");\n function isClosing(ws) {\n return ws[kReadyState] === states.CLOSING;\n }\n __name(isClosing, "isClosing");\n function isClosed(ws) {\n return ws[kReadyState] === states.CLOSED;\n }\n __name(isClosed, "isClosed");\n function fireEvent(e, target, eventConstructor = Event, eventInitDict) {\n const event = new eventConstructor(e, eventInitDict);\n target.dispatchEvent(event);\n }\n __name(fireEvent, "fireEvent");\n function websocketMessageReceived(ws, type, data) {\n if (ws[kReadyState] !== states.OPEN) {\n return;\n }\n let dataForEvent;\n if (type === opcodes.TEXT) {\n try {\n dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data);\n } catch {\n failWebsocketConnection(ws, "Received invalid UTF-8 in text frame.");\n return;\n }\n } else if (type === opcodes.BINARY) {\n if (ws[kBinaryType] === "blob") {\n dataForEvent = new Blob([data]);\n } else {\n dataForEvent = new Uint8Array(data).buffer;\n }\n }\n fireEvent("message", ws, MessageEvent, {\n origin: ws[kWebSocketURL].origin,\n data: dataForEvent\n });\n }\n __name(websocketMessageReceived, "websocketMessageReceived");\n function isValidSubprotocol(protocol) {\n if (protocol.length === 0) {\n return false;\n }\n for (const char of protocol) {\n const code = char.charCodeAt(0);\n if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\\\" || char === \'"\' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP\n code === 9) {\n return false;\n }\n }\n return true;\n }\n __name(isValidSubprotocol, "isValidSubprotocol");\n function isValidStatusCode(code) {\n if (code >= 1e3 && code < 1015) {\n return code !== 1004 && // reserved\n code !== 1005 && // "MUST NOT be set as a status code"\n code !== 1006;\n }\n return code >= 3e3 && code <= 4999;\n }\n __name(isValidStatusCode, "isValidStatusCode");\n function failWebsocketConnection(ws, reason) {\n const { [kController]: controller, [kResponse]: response } = ws;\n controller.abort();\n if ((response == null ? void 0 : response.socket) && !response.socket.destroyed) {\n response.socket.destroy();\n }\n if (reason) {\n fireEvent("error", ws, ErrorEvent, {\n error: new Error(reason)\n });\n }\n }\n __name(failWebsocketConnection, "failWebsocketConnection");\n module2.exports = {\n isEstablished,\n isClosing,\n isClosed,\n fireEvent,\n isValidSubprotocol,\n isValidStatusCode,\n failWebsocketConnection,\n websocketMessageReceived\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/connection.js\nvar require_connection = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/connection.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { randomBytes, createHash } = require("crypto");\n var diagnosticsChannel = require("diagnostics_channel");\n var { uid, states } = require_constants3();\n var {\n kReadyState,\n kSentClose,\n kByteParser,\n kReceivedClose\n } = require_symbols3();\n var { fireEvent, failWebsocketConnection } = require_util3();\n var { CloseEvent } = require_events();\n var { makeRequest } = require_request();\n var { fetching } = require_fetch();\n var { Headers: Headers3 } = require_headers();\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { kHeadersList } = require_symbols2();\n var channels = {};\n channels.open = diagnosticsChannel.channel("undici:websocket:open");\n channels.close = diagnosticsChannel.channel("undici:websocket:close");\n channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error");\n function establishWebSocketConnection(url, protocols, ws, onEstablish, options) {\n const requestURL = url;\n requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:";\n const request = makeRequest({\n urlList: [requestURL],\n serviceWorkers: "none",\n referrer: "no-referrer",\n mode: "websocket",\n credentials: "include",\n cache: "no-store",\n redirect: "error"\n });\n if (options.headers) {\n const headersList = new Headers3(options.headers)[kHeadersList];\n request.headersList = headersList;\n }\n const keyValue = randomBytes(16).toString("base64");\n request.headersList.append("sec-websocket-key", keyValue);\n request.headersList.append("sec-websocket-version", "13");\n for (const protocol of protocols) {\n request.headersList.append("sec-websocket-protocol", protocol);\n }\n const permessageDeflate = "";\n const controller = fetching({\n request,\n useParallelQueue: true,\n dispatcher: options.dispatcher ?? getGlobalDispatcher2(),\n processResponse(response) {\n var _a, _b;\n if (response.type === "error" || response.status !== 101) {\n failWebsocketConnection(ws, "Received network error or non-101 status code.");\n return;\n }\n if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) {\n failWebsocketConnection(ws, "Server did not respond with sent protocols.");\n return;\n }\n if (((_a = response.headersList.get("Upgrade")) == null ? void 0 : _a.toLowerCase()) !== "websocket") {\n failWebsocketConnection(ws, \'Server did not set Upgrade header to "websocket".\');\n return;\n }\n if (((_b = response.headersList.get("Connection")) == null ? void 0 : _b.toLowerCase()) !== "upgrade") {\n failWebsocketConnection(ws, \'Server did not set Connection header to "upgrade".\');\n return;\n }\n const secWSAccept = response.headersList.get("Sec-WebSocket-Accept");\n const digest = createHash("sha1").update(keyValue + uid).digest("base64");\n if (secWSAccept !== digest) {\n failWebsocketConnection(ws, "Incorrect hash received in Sec-WebSocket-Accept header.");\n return;\n }\n const secExtension = response.headersList.get("Sec-WebSocket-Extensions");\n if (secExtension !== null && secExtension !== permessageDeflate) {\n failWebsocketConnection(ws, "Received different permessage-deflate than the one set.");\n return;\n }\n const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");\n if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) {\n failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");\n return;\n }\n response.socket.on("data", onSocketData);\n response.socket.on("close", onSocketClose);\n response.socket.on("error", onSocketError);\n if (channels.open.hasSubscribers) {\n channels.open.publish({\n address: response.socket.address(),\n protocol: secProtocol,\n extensions: secExtension\n });\n }\n onEstablish(response);\n }\n });\n return controller;\n }\n __name(establishWebSocketConnection, "establishWebSocketConnection");\n function onSocketData(chunk) {\n if (!this.ws[kByteParser].write(chunk)) {\n this.pause();\n }\n }\n __name(onSocketData, "onSocketData");\n function onSocketClose() {\n const { ws } = this;\n const wasClean = ws[kSentClose] && ws[kReceivedClose];\n let code = 1005;\n let reason = "";\n const result = ws[kByteParser].closingInfo;\n if (result) {\n code = result.code ?? 1005;\n reason = result.reason;\n } else if (!ws[kSentClose]) {\n code = 1006;\n }\n ws[kReadyState] = states.CLOSED;\n fireEvent("close", ws, CloseEvent, {\n wasClean,\n code,\n reason\n });\n if (channels.close.hasSubscribers) {\n channels.close.publish({\n websocket: ws,\n code,\n reason\n });\n }\n }\n __name(onSocketClose, "onSocketClose");\n function onSocketError(error) {\n const { ws } = this;\n ws[kReadyState] = states.CLOSING;\n if (channels.socketError.hasSubscribers) {\n channels.socketError.publish(error);\n }\n this.destroy();\n }\n __name(onSocketError, "onSocketError");\n module2.exports = {\n establishWebSocketConnection\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/frame.js\nvar require_frame = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/frame.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { randomBytes } = require("crypto");\n var { maxUnsigned16Bit } = require_constants3();\n var WebsocketFrameSend = class {\n /**\n * @param {Buffer|undefined} data\n */\n constructor(data) {\n this.frameData = data;\n this.maskKey = randomBytes(4);\n }\n createFrame(opcode) {\n var _a;\n const bodyLength = ((_a = this.frameData) == null ? void 0 : _a.byteLength) ?? 0;\n let payloadLength = bodyLength;\n let offset = 6;\n if (bodyLength > maxUnsigned16Bit) {\n offset += 8;\n payloadLength = 127;\n } else if (bodyLength > 125) {\n offset += 2;\n payloadLength = 126;\n }\n const buffer = Buffer.allocUnsafe(bodyLength + offset);\n buffer[0] = buffer[1] = 0;\n buffer[0] |= 128;\n buffer[0] = (buffer[0] & 240) + opcode;\n buffer[offset - 4] = this.maskKey[0];\n buffer[offset - 3] = this.maskKey[1];\n buffer[offset - 2] = this.maskKey[2];\n buffer[offset - 1] = this.maskKey[3];\n buffer[1] = payloadLength;\n if (payloadLength === 126) {\n buffer.writeUInt16BE(bodyLength, 2);\n } else if (payloadLength === 127) {\n buffer[2] = buffer[3] = 0;\n buffer.writeUIntBE(bodyLength, 4, 6);\n }\n buffer[1] |= 128;\n for (let i = 0; i < bodyLength; i++) {\n buffer[offset + i] = this.frameData[i] ^ this.maskKey[i % 4];\n }\n return buffer;\n }\n };\n __name(WebsocketFrameSend, "WebsocketFrameSend");\n module2.exports = {\n WebsocketFrameSend\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/receiver.js\nvar require_receiver = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/receiver.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { Writable } = require("stream");\n var diagnosticsChannel = require("diagnostics_channel");\n var { parserStates, opcodes, states, emptyBuffer } = require_constants3();\n var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols3();\n var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util3();\n var { WebsocketFrameSend } = require_frame();\n var channels = {};\n channels.ping = diagnosticsChannel.channel("undici:websocket:ping");\n channels.pong = diagnosticsChannel.channel("undici:websocket:pong");\n var ByteParser = class extends Writable {\n #buffers = [];\n #byteOffset = 0;\n #state = parserStates.INFO;\n #info = {};\n #fragments = [];\n constructor(ws) {\n super();\n this.ws = ws;\n }\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write(chunk, _, callback) {\n this.#buffers.push(chunk);\n this.#byteOffset += chunk.length;\n this.run(callback);\n }\n /**\n * Runs whenever a new chunk is received.\n * Callback is called whenever there are no more chunks buffering,\n * or not enough bytes are buffered to parse.\n */\n run(callback) {\n var _a;\n while (true) {\n if (this.#state === parserStates.INFO) {\n if (this.#byteOffset < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n this.#info.fin = (buffer[0] & 128) !== 0;\n this.#info.opcode = buffer[0] & 15;\n (_a = this.#info).originalOpcode ?? (_a.originalOpcode = this.#info.opcode);\n this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION;\n if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) {\n failWebsocketConnection(this.ws, "Invalid frame type was fragmented.");\n return;\n }\n const payloadLength = buffer[1] & 127;\n if (payloadLength <= 125) {\n this.#info.payloadLength = payloadLength;\n this.#state = parserStates.READ_DATA;\n } else if (payloadLength === 126) {\n this.#state = parserStates.PAYLOADLENGTH_16;\n } else if (payloadLength === 127) {\n this.#state = parserStates.PAYLOADLENGTH_64;\n }\n if (this.#info.fragmented && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");\n return;\n } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");\n return;\n } else if (this.#info.opcode === opcodes.CLOSE) {\n if (payloadLength === 1) {\n failWebsocketConnection(this.ws, "Received close frame with a 1-byte body.");\n return;\n }\n const body = this.consume(payloadLength);\n this.#info.closeInfo = this.parseCloseBody(false, body);\n if (!this.ws[kSentClose]) {\n const body2 = Buffer.allocUnsafe(2);\n body2.writeUInt16BE(this.#info.closeInfo.code, 0);\n const closeFrame = new WebsocketFrameSend(body2);\n this.ws[kResponse].socket.write(\n closeFrame.createFrame(opcodes.CLOSE),\n (err) => {\n if (!err) {\n this.ws[kSentClose] = true;\n }\n }\n );\n }\n this.ws[kReadyState] = states.CLOSING;\n this.ws[kReceivedClose] = true;\n this.end();\n return;\n } else if (this.#info.opcode === opcodes.PING) {\n const body = this.consume(payloadLength);\n if (!this.ws[kReceivedClose]) {\n const frame = new WebsocketFrameSend(body);\n this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG));\n if (channels.ping.hasSubscribers) {\n channels.ping.publish({\n payload: body\n });\n }\n }\n this.#state = parserStates.INFO;\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n return;\n }\n } else if (this.#info.opcode === opcodes.PONG) {\n const body = this.consume(payloadLength);\n if (channels.pong.hasSubscribers) {\n channels.pong.publish({\n payload: body\n });\n }\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n return;\n }\n }\n } else if (this.#state === parserStates.PAYLOADLENGTH_16) {\n if (this.#byteOffset < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n this.#info.payloadLength = buffer.readUInt16BE(0);\n this.#state = parserStates.READ_DATA;\n } else if (this.#state === parserStates.PAYLOADLENGTH_64) {\n if (this.#byteOffset < 8) {\n return callback();\n }\n const buffer = this.consume(8);\n const upper = buffer.readUInt32BE(0);\n if (upper > 2 ** 31 - 1) {\n failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes.");\n return;\n }\n const lower = buffer.readUInt32BE(4);\n this.#info.payloadLength = (upper << 8) + lower;\n this.#state = parserStates.READ_DATA;\n } else if (this.#state === parserStates.READ_DATA) {\n if (this.#byteOffset < this.#info.payloadLength) {\n return callback();\n } else if (this.#byteOffset >= this.#info.payloadLength) {\n const body = this.consume(this.#info.payloadLength);\n this.#fragments.push(body);\n if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) {\n const fullMessage = Buffer.concat(this.#fragments);\n websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage);\n this.#info = {};\n this.#fragments.length = 0;\n }\n this.#state = parserStates.INFO;\n }\n }\n if (this.#byteOffset > 0) {\n continue;\n } else {\n callback();\n break;\n }\n }\n }\n /**\n * Take n bytes from the buffered Buffers\n * @param {number} n\n * @returns {Buffer|null}\n */\n consume(n) {\n if (n > this.#byteOffset) {\n return null;\n } else if (n === 0) {\n return emptyBuffer;\n }\n if (this.#buffers[0].length === n) {\n this.#byteOffset -= this.#buffers[0].length;\n return this.#buffers.shift();\n }\n const buffer = Buffer.allocUnsafe(n);\n let offset = 0;\n while (offset !== n) {\n const next = this.#buffers[0];\n const { length } = next;\n if (length + offset === n) {\n buffer.set(this.#buffers.shift(), offset);\n break;\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset);\n this.#buffers[0] = next.subarray(n - offset);\n break;\n } else {\n buffer.set(this.#buffers.shift(), offset);\n offset += next.length;\n }\n }\n this.#byteOffset -= n;\n return buffer;\n }\n parseCloseBody(onlyCode, data) {\n let code;\n if (data.length >= 2) {\n code = data.readUInt16BE(0);\n }\n if (onlyCode) {\n if (!isValidStatusCode(code)) {\n return null;\n }\n return { code };\n }\n let reason = data.subarray(2);\n if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) {\n reason = reason.subarray(3);\n }\n if (code !== void 0 && !isValidStatusCode(code)) {\n return null;\n }\n try {\n reason = new TextDecoder("utf-8", { fatal: true }).decode(reason);\n } catch {\n return null;\n }\n return { code, reason };\n }\n get closingInfo() {\n return this.#info.closeInfo;\n }\n };\n __name(ByteParser, "ByteParser");\n module2.exports = {\n ByteParser\n };\n }\n});\n\n// ../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/websocket.js\nvar require_websocket = __commonJS({\n "../../node_modules/.pnpm/undici@5.22.1/node_modules/undici/lib/websocket/websocket.js"(exports, module2) {\n "use strict";\n init_define_process();\n var { webidl } = require_webidl();\n var { DOMException } = require_constants();\n var { URLSerializer } = require_dataURL();\n var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants3();\n var {\n kWebSocketURL,\n kReadyState,\n kController,\n kBinaryType,\n kResponse,\n kSentClose,\n kByteParser\n } = require_symbols3();\n var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util3();\n var { establishWebSocketConnection } = require_connection();\n var { WebsocketFrameSend } = require_frame();\n var { ByteParser } = require_receiver();\n var { kEnumerableProperty, isBlobLike } = require_util();\n var { getGlobalDispatcher: getGlobalDispatcher2 } = require_global2();\n var { types } = require("util");\n var experimentalWarned = false;\n var WebSocket2 = class extends EventTarget {\n #events = {\n open: null,\n error: null,\n close: null,\n message: null\n };\n #bufferedAmount = 0;\n #protocol = "";\n #extensions = "";\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor(url, protocols = []) {\n super();\n webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" });\n if (!experimentalWarned) {\n experimentalWarned = true;\n define_process_default.emitWarning("WebSockets are experimental, expect them to change at any time.", {\n code: "UNDICI-WS"\n });\n }\n const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols);\n url = webidl.converters.USVString(url);\n protocols = options.protocols;\n let urlRecord;\n try {\n urlRecord = new URL(url);\n } catch (e) {\n throw new DOMException(e, "SyntaxError");\n }\n if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") {\n throw new DOMException(\n `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`,\n "SyntaxError"\n );\n }\n if (urlRecord.hash) {\n throw new DOMException("Got fragment", "SyntaxError");\n }\n if (typeof protocols === "string") {\n protocols = [protocols];\n }\n if (protocols.length !== new Set(protocols.map((p) => p.toLowerCase())).size) {\n throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");\n }\n if (protocols.length > 0 && !protocols.every((p) => isValidSubprotocol(p))) {\n throw new DOMException("Invalid Sec-WebSocket-Protocol value", "SyntaxError");\n }\n this[kWebSocketURL] = urlRecord;\n this[kController] = establishWebSocketConnection(\n urlRecord,\n protocols,\n this,\n (response) => this.#onConnectionEstablished(response),\n options\n );\n this[kReadyState] = WebSocket2.CONNECTING;\n this[kBinaryType] = "blob";\n }\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-close\n * @param {number|undefined} code\n * @param {string|undefined} reason\n */\n close(code = void 0, reason = void 0) {\n webidl.brandCheck(this, WebSocket2);\n if (code !== void 0) {\n code = webidl.converters["unsigned short"](code, { clamp: true });\n }\n if (reason !== void 0) {\n reason = webidl.converters.USVString(reason);\n }\n if (code !== void 0) {\n if (code !== 1e3 && (code < 3e3 || code > 4999)) {\n throw new DOMException("invalid code", "InvalidAccessError");\n }\n }\n let reasonByteLength = 0;\n if (reason !== void 0) {\n reasonByteLength = Buffer.byteLength(reason);\n if (reasonByteLength > 123) {\n throw new DOMException(\n `Reason must be less than 123 bytes; received ${reasonByteLength}`,\n "SyntaxError"\n );\n }\n }\n if (this[kReadyState] === WebSocket2.CLOSING || this[kReadyState] === WebSocket2.CLOSED) {\n } else if (!isEstablished(this)) {\n failWebsocketConnection(this, "Connection was closed before it was established.");\n this[kReadyState] = WebSocket2.CLOSING;\n } else if (!isClosing(this)) {\n const frame = new WebsocketFrameSend();\n if (code !== void 0 && reason === void 0) {\n frame.frameData = Buffer.allocUnsafe(2);\n frame.frameData.writeUInt16BE(code, 0);\n } else if (code !== void 0 && reason !== void 0) {\n frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength);\n frame.frameData.writeUInt16BE(code, 0);\n frame.frameData.write(reason, 2, "utf-8");\n } else {\n frame.frameData = emptyBuffer;\n }\n const socket = this[kResponse].socket;\n socket.write(frame.createFrame(opcodes.CLOSE), (err) => {\n if (!err) {\n this[kSentClose] = true;\n }\n });\n this[kReadyState] = states.CLOSING;\n } else {\n this[kReadyState] = WebSocket2.CLOSING;\n }\n }\n /**\n * @see https://websockets.spec.whatwg.org/#dom-websocket-send\n * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data\n */\n send(data) {\n webidl.brandCheck(this, WebSocket2);\n webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });\n data = webidl.converters.WebSocketSendData(data);\n if (this[kReadyState] === WebSocket2.CONNECTING) {\n throw new DOMException("Sent before connected.", "InvalidStateError");\n }\n if (!isEstablished(this) || isClosing(this)) {\n return;\n }\n const socket = this[kResponse].socket;\n if (typeof data === "string") {\n const value = Buffer.from(data);\n const frame = new WebsocketFrameSend(value);\n const buffer = frame.createFrame(opcodes.TEXT);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n } else if (types.isArrayBuffer(data)) {\n const value = Buffer.from(data);\n const frame = new WebsocketFrameSend(value);\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n } else if (ArrayBuffer.isView(data)) {\n const ab = Buffer.from(data, data.byteOffset, data.byteLength);\n const frame = new WebsocketFrameSend(ab);\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += ab.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= ab.byteLength;\n });\n } else if (isBlobLike(data)) {\n const frame = new WebsocketFrameSend();\n data.arrayBuffer().then((ab) => {\n const value = Buffer.from(ab);\n frame.frameData = value;\n const buffer = frame.createFrame(opcodes.BINARY);\n this.#bufferedAmount += value.byteLength;\n socket.write(buffer, () => {\n this.#bufferedAmount -= value.byteLength;\n });\n });\n }\n }\n get readyState() {\n webidl.brandCheck(this, WebSocket2);\n return this[kReadyState];\n }\n get bufferedAmount() {\n webidl.brandCheck(this, WebSocket2);\n return this.#bufferedAmount;\n }\n get url() {\n webidl.brandCheck(this, WebSocket2);\n return URLSerializer(this[kWebSocketURL]);\n }\n get extensions() {\n webidl.brandCheck(this, WebSocket2);\n return this.#extensions;\n }\n get protocol() {\n webidl.brandCheck(this, WebSocket2);\n return this.#protocol;\n }\n get onopen() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.open;\n }\n set onopen(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.open) {\n this.removeEventListener("open", this.#events.open);\n }\n if (typeof fn === "function") {\n this.#events.open = fn;\n this.addEventListener("open", fn);\n } else {\n this.#events.open = null;\n }\n }\n get onerror() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.error;\n }\n set onerror(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.error) {\n this.removeEventListener("error", this.#events.error);\n }\n if (typeof fn === "function") {\n this.#events.error = fn;\n this.addEventListener("error", fn);\n } else {\n this.#events.error = null;\n }\n }\n get onclose() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.close;\n }\n set onclose(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.close) {\n this.removeEventListener("close", this.#events.close);\n }\n if (typeof fn === "function") {\n this.#events.close = fn;\n this.addEventListener("close", fn);\n } else {\n this.#events.close = null;\n }\n }\n get onmessage() {\n webidl.brandCheck(this, WebSocket2);\n return this.#events.message;\n }\n set onmessage(fn) {\n webidl.brandCheck(this, WebSocket2);\n if (this.#events.message) {\n this.removeEventListener("message", this.#events.message);\n }\n if (typeof fn === "function") {\n this.#events.message = fn;\n this.addEventListener("message", fn);\n } else {\n this.#events.message = null;\n }\n }\n get binaryType() {\n webidl.brandCheck(this, WebSocket2);\n return this[kBinaryType];\n }\n set binaryType(type) {\n webidl.brandCheck(this, WebSocket2);\n if (type !== "blob" && type !== "arraybuffer") {\n this[kBinaryType] = "blob";\n } else {\n this[kBinaryType] = type;\n }\n }\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n #onConnectionEstablished(response) {\n this[kResponse] = response;\n const parser = new ByteParser(this);\n parser.on("drain", /* @__PURE__ */ __name(function onParserDrain() {\n this.ws[kResponse].socket.resume();\n }, "onParserDrain"));\n response.socket.ws = this;\n this[kByteParser] = parser;\n this[kReadyState] = states.OPEN;\n const extensions = response.headersList.get("sec-websocket-extensions");\n if (extensions !== null) {\n this.#extensions = extensions;\n }\n const protocol = response.headersList.get("sec-websocket-protocol");\n if (protocol !== null) {\n this.#protocol = protocol;\n }\n fireEvent("open", this);\n }\n };\n __name(WebSocket2, "WebSocket");\n WebSocket2.CONNECTING = WebSocket2.prototype.CONNECTING = states.CONNECTING;\n WebSocket2.OPEN = WebSocket2.prototype.OPEN = states.OPEN;\n WebSocket2.CLOSING = WebSocket2.prototype.CLOSING = states.CLOSING;\n WebSocket2.CLOSED = WebSocket2.prototype.CLOSED = states.CLOSED;\n Object.defineProperties(WebSocket2.prototype, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors,\n url: kEnumerableProperty,\n readyState: kEnumerableProperty,\n bufferedAmount: kEnumerableProperty,\n onopen: kEnumerableProperty,\n onerror: kEnumerableProperty,\n onclose: kEnumerableProperty,\n close: kEnumerableProperty,\n onmessage: kEnumerableProperty,\n binaryType: kEnumerableProperty,\n send: kEnumerableProperty,\n extensions: kEnumerableProperty,\n protocol: kEnumerableProperty,\n [Symbol.toStringTag]: {\n value: "WebSocket",\n writable: false,\n enumerable: false,\n configurable: true\n }\n });\n Object.defineProperties(WebSocket2, {\n CONNECTING: staticPropertyDescriptors,\n OPEN: staticPropertyDescriptors,\n CLOSING: staticPropertyDescriptors,\n CLOSED: staticPropertyDescriptors\n });\n webidl.converters["sequence"] = webidl.sequenceConverter(\n webidl.converters.DOMString\n );\n webidl.converters["DOMString or sequence"] = function(V) {\n if (webidl.util.Type(V) === "Object" && Symbol.iterator in V) {\n return webidl.converters["sequence"](V);\n }\n return webidl.converters.DOMString(V);\n };\n webidl.converters.WebSocketInit = webidl.dictionaryConverter([\n {\n key: "protocols",\n converter: webidl.converters["DOMString or sequence"],\n get defaultValue() {\n return [];\n }\n },\n {\n key: "dispatcher",\n converter: (V) => V,\n get defaultValue() {\n return getGlobalDispatcher2();\n }\n },\n {\n key: "headers",\n converter: webidl.nullableConverter(webidl.converters.HeadersInit)\n }\n ]);\n webidl.converters["DOMString or sequence or WebSocketInit"] = function(V) {\n if (webidl.util.Type(V) === "Object" && !(Symbol.iterator in V)) {\n return webidl.converters.WebSocketInit(V);\n }\n return { protocols: webidl.converters["DOMString or sequence"](V) };\n };\n webidl.converters.WebSocketSendData = function(V) {\n if (webidl.util.Type(V) === "Object") {\n if (isBlobLike(V)) {\n return webidl.converters.Blob(V, { strict: false });\n }\n if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {\n return webidl.converters.BufferSource(V);\n }\n }\n return webidl.converters.USVString(V);\n };\n module2.exports = {\n WebSocket: WebSocket2\n };\n }\n});\n\n// src/primitives/fetch.js\nvar fetch_exports = {};\n__export(fetch_exports, {\n File: () => import_file.File,\n FormData: () => import_formdata.FormData,\n Headers: () => Headers2,\n Request: () => Request,\n Response: () => Response2,\n WebSocket: () => import_websocket.WebSocket,\n fetch: () => fetch,\n getGlobalDispatcher: () => getGlobalDispatcher,\n setGlobalDispatcher: () => setGlobalDispatcher\n});\nmodule.exports = __toCommonJS(fetch_exports);\ninit_define_process();\nvar import_abort_controller = require("./abort-controller");\nvar import_abort_controller2 = require("./abort-controller");\nvar FetchSymbols = __toESM(require_symbols());\nvar HeadersModule = __toESM(require_headers());\nvar ResponseModule = __toESM(require_response());\nvar UtilModule = __toESM(require_util2());\nvar WebIDLModule = __toESM(require_webidl());\nvar import_request = __toESM(require_request());\nvar import_fetch = __toESM(require_fetch());\nvar import_agent = __toESM(require_agent());\nvar import_formdata = __toESM(require_formdata());\nvar import_file = __toESM(require_file());\nvar import_websocket = __toESM(require_websocket());\nglobal.AbortController = import_abort_controller.AbortController;\nglobal.AbortSignal = import_abort_controller2.AbortSignal;\ndefine_process_default.nextTick = setImmediate;\ndefine_process_default.emitWarning = () => {\n};\nvar Request = class extends import_request.Request {\n constructor(input, init) {\n super(input, addDuplexToInit(init));\n }\n};\n__name(Request, "Request");\nvar __entries = HeadersModule.Headers.prototype.entries;\nHeadersModule.Headers.prototype.entries = function* () {\n let sentSetCookie = false;\n for (const [key, value] of __entries.call(this)) {\n if (key === "set-cookie") {\n if (sentSetCookie) {\n continue;\n }\n sentSetCookie = true;\n const cookies = this.getSetCookie();\n yield [key, cookies.join(", ")];\n } else {\n yield [key, value];\n }\n }\n};\nHeadersModule.Headers.prototype[Symbol.iterator] = HeadersModule.Headers.prototype.entries;\nHeadersModule.Headers.prototype.values = function* () {\n for (const [, value] of __entries.call(this)) {\n yield value;\n }\n};\nHeadersModule.Headers.prototype.getAll = function(name) {\n const _name = normalizeAndValidateHeaderName(name, "Headers.getAll");\n if (_name !== "set-cookie") {\n throw new Error(`getAll can only be used with \'set-cookie\'`);\n }\n return this.getSetCookie();\n};\nvar __error = ResponseModule.Response.error;\nResponseModule.Response.error = function(...args) {\n const response = __error.call(this, ...args);\n response[FetchSymbols.kHeaders][FetchSymbols.kGuard] = "response";\n return response;\n};\nfunction normalizeAndValidateHeaderName(potentialName, errorPrefix) {\n const normalizedName = potentialName.toLowerCase();\n if (UtilModule.isValidHeaderName(normalizedName)) {\n return normalizedName;\n }\n WebIDLModule.errors.invalidArgument({\n prefix: errorPrefix,\n value: normalizedName,\n type: "header name"\n });\n}\n__name(normalizeAndValidateHeaderName, "normalizeAndValidateHeaderName");\nvar globalDispatcher = new import_agent.default();\nfunction getGlobalDispatcher() {\n return globalDispatcher;\n}\n__name(getGlobalDispatcher, "getGlobalDispatcher");\nfunction setGlobalDispatcher(agent) {\n if (!agent || typeof agent.dispatch !== "function") {\n throw new InvalidArgumentError("Argument agent must implement Agent");\n }\n globalDispatcher = agent;\n}\n__name(setGlobalDispatcher, "setGlobalDispatcher");\nfunction addDuplexToInit(init) {\n return typeof init === "undefined" || typeof init === "object" && init.duplex === void 0 ? { duplex: "half", ...init } : init;\n}\n__name(addDuplexToInit, "addDuplexToInit");\nasync function fetch(info, init) {\n init = addDuplexToInit(init);\n const res = await import_fetch.fetch.call(getGlobalDispatcher(), info, init);\n const response = new Response2(res.body, res);\n Object.defineProperty(response, "url", { value: res.url });\n return response;\n}\n__name(fetch, "fetch");\nvar Headers2 = HeadersModule.Headers;\nvar Response2 = ResponseModule.Response;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n File,\n FormData,\n Headers,\n Request,\n Response,\n WebSocket,\n fetch,\n getGlobalDispatcher,\n setGlobalDispatcher\n});\n'},278:(module,__unused_webpack_exports,__nccwpck_require__)=>{"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(e,n)=>__defProp(e,"name",{value:n,configurable:true});var __export=(e,n)=>{for(var t in n)__defProp(e,t,{get:n[t],enumerable:true})};var __copyProps=(e,n,t,r)=>{if(n&&typeof n==="object"||typeof n==="function"){for(let A of __getOwnPropNames(n))if(!__hasOwnProp.call(e,A)&&A!==t)__defProp(e,A,{get:()=>n[A],enumerable:!(r=__getOwnPropDesc(n,A))||r.enumerable})}return e};var __toESM=(e,n,t)=>(t=e!=null?__create(__getProtoOf(e)):{},__copyProps(n||!e||!e.__esModule?__defProp(t,"default",{value:e,enumerable:true}):t,e));var __toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:true}),e);var load_exports={};__export(load_exports,{load:()=>load});module.exports=__toCommonJS(load_exports);var import_module=__toESM(__nccwpck_require__(188));var import_crypto=__toESM(__nccwpck_require__(113));function requireWithFakeGlobalScope(params){const getModuleCode=`(function(module,exports,require,globalThis,${Object.keys(params.scopedContext).join(",")}) {${params.sourceCode}\n})`;const module={exports:{},loaded:false,id:params.id};const moduleRequire=(import_module.default.createRequire||import_module.default.createRequireFromPath)(__filename);function throwingRequire(e){if(e.startsWith("./")){const n=e.replace(/^\.\//,"");if(!params.cache||!params.cache.has(n)){throw new Error(`Cannot find module '${n}'`)}return params.cache.get(n).exports}return moduleRequire(e)}__name(throwingRequire,"throwingRequire");throwingRequire.resolve=moduleRequire.resolve.bind(moduleRequire);eval(getModuleCode)(module,module.exports,throwingRequire,params.context,...Object.values(params.scopedContext));return module.exports}__name(requireWithFakeGlobalScope,"requireWithFakeGlobalScope");function load(e={}){const n={};const t=requireWithFakeGlobalScope({context:n,id:"encoding.js",sourceCode:__nccwpck_require__(630),scopedContext:e});assign(n,{TextDecoder:TextDecoder,TextEncoder:TextEncoder,atob:t.atob,btoa:t.btoa});const r=requireWithFakeGlobalScope({context:n,id:"console.js",sourceCode:__nccwpck_require__(401),scopedContext:e});assign(n,{console:r.console});const A=requireWithFakeGlobalScope({context:n,id:"events.js",sourceCode:__nccwpck_require__(163),scopedContext:e});assign(n,{Event:A.Event,EventTarget:A.EventTarget,FetchEvent:A.FetchEvent,PromiseRejectionEvent:A.PromiseRejectionEvent});const o=requireWithFakeGlobalScope({context:n,id:"streams.js",sourceCode:__nccwpck_require__(390),scopedContext:{...e}});const s=requireWithFakeGlobalScope({context:n,id:"text-encoding-streams.js",sourceCode:__nccwpck_require__(157),scopedContext:{...o,...e}});assign(n,{ReadableStream:o.ReadableStream,ReadableStreamBYOBReader:o.ReadableStreamBYOBReader,ReadableStreamDefaultReader:o.ReadableStreamDefaultReader,TextDecoderStream:s.TextDecoderStream,TextEncoderStream:s.TextEncoderStream,TransformStream:o.TransformStream,WritableStream:o.WritableStream,WritableStreamDefaultWriter:o.WritableStreamDefaultWriter});const a=requireWithFakeGlobalScope({context:n,id:"abort-controller.js",sourceCode:__nccwpck_require__(779),scopedContext:{...A,...e}});assign(n,{AbortController:a.AbortController,AbortSignal:a.AbortSignal,DOMException:a.DOMException});const i=requireWithFakeGlobalScope({context:n,id:"url.js",sourceCode:__nccwpck_require__(123),scopedContext:{...e}});assign(n,{URL:URL,URLSearchParams:URLSearchParams,URLPattern:i.URLPattern});const l=(()=>{if(typeof e.Blob==="function"){return{Blob:e.Blob}}if(typeof Blob==="function"){return{Blob:Blob}}const t={...o,...e};const r={...t,Blob:void 0};Object.setPrototypeOf(r,globalThis);t.global=r;return requireWithFakeGlobalScope({context:n,id:"blob.js",sourceCode:__nccwpck_require__(980),scopedContext:t})})();assign(n,{Blob:l.Blob});const c=requireWithFakeGlobalScope({id:"structured-clone.js",context:n,sourceCode:__nccwpck_require__(986),scopedContext:{...o,...e}});assign(n,{structuredClone:c.structuredClone});const u=requireWithFakeGlobalScope({context:n,id:"fetch.js",sourceCode:__nccwpck_require__(746),cache:new Map([["abort-controller",{exports:a}],["streams",{exports:o}]]),scopedContext:{global:{...e},...e,...o,...i,...a,...A,structuredClone:n.structuredClone}});assign(n,{fetch:u.fetch,File:u.File,FormData:u.FormData,Headers:u.Headers,Request:u.Request,Response:u.Response,WebSocket:u.WebSocket});const g=getCrypto(n,e);assign(n,{crypto:g.crypto,Crypto:g.Crypto,CryptoKey:g.CryptoKey,SubtleCrypto:g.SubtleCrypto});return n}__name(load,"load");function getCrypto(e,n){if(typeof SubtleCrypto!=="undefined"||n.SubtleCrypto){return{crypto:n.crypto||globalThis.crypto,Crypto:n.Crypto||globalThis.Crypto,CryptoKey:n.CryptoKey||globalThis.CryptoKey,SubtleCrypto:n.SubtleCrypto||globalThis.SubtleCrypto}}else if(import_crypto.default.webcrypto){const e=import_crypto.default.webcrypto;return{crypto:e,Crypto:e.constructor,CryptoKey:e.CryptoKey,SubtleCrypto:e.subtle.constructor}}return requireWithFakeGlobalScope({context:e,id:"crypto.js",sourceCode:__nccwpck_require__(911),scopedContext:{...n}})}__name(getCrypto,"getCrypto");function assign(e,n){Object.assign(e,n)}__name(assign,"assign");0&&0},390:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/streams.js\nvar streams_exports = {};\n__export(streams_exports, {\n ReadableStream: () => ReadableStream,\n ReadableStreamBYOBReader: () => ReadableStreamBYOBReader,\n ReadableStreamDefaultReader: () => ReadableStreamDefaultReader,\n TransformStream: () => TransformStream,\n WritableStream: () => WritableStream,\n WritableStreamDefaultWriter: () => WritableStreamDefaultWriter\n});\nmodule.exports = __toCommonJS(streams_exports);\n\n// ../../node_modules/.pnpm/web-streams-polyfill@4.0.0-beta.3/node_modules/web-streams-polyfill/dist/ponyfill.mjs\nvar e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? Symbol : (e2) => `Symbol(${e2})`;\nfunction t() {\n}\n__name(t, "t");\nfunction r(e2) {\n return "object" == typeof e2 && null !== e2 || "function" == typeof e2;\n}\n__name(r, "r");\nvar o = t;\nfunction n(e2, t2) {\n try {\n Object.defineProperty(e2, "name", { value: t2, configurable: true });\n } catch (e3) {\n }\n}\n__name(n, "n");\nvar a = Promise;\nvar i = Promise.prototype.then;\nvar l = Promise.resolve.bind(a);\nvar s = Promise.reject.bind(a);\nfunction u(e2) {\n return new a(e2);\n}\n__name(u, "u");\nfunction c(e2) {\n return l(e2);\n}\n__name(c, "c");\nfunction d(e2) {\n return s(e2);\n}\n__name(d, "d");\nfunction f(e2, t2, r2) {\n return i.call(e2, t2, r2);\n}\n__name(f, "f");\nfunction b(e2, t2, r2) {\n f(f(e2, t2, r2), void 0, o);\n}\n__name(b, "b");\nfunction h(e2, t2) {\n b(e2, t2);\n}\n__name(h, "h");\nfunction _(e2, t2) {\n b(e2, void 0, t2);\n}\n__name(_, "_");\nfunction p(e2, t2, r2) {\n return f(e2, t2, r2);\n}\n__name(p, "p");\nfunction m(e2) {\n f(e2, void 0, o);\n}\n__name(m, "m");\nvar y = /* @__PURE__ */ __name((e2) => {\n if ("function" == typeof queueMicrotask)\n y = queueMicrotask;\n else {\n const e3 = c(void 0);\n y = /* @__PURE__ */ __name((t2) => f(e3, t2), "y");\n }\n return y(e2);\n}, "y");\nfunction g(e2, t2, r2) {\n if ("function" != typeof e2)\n throw new TypeError("Argument is not a function");\n return Function.prototype.apply.call(e2, t2, r2);\n}\n__name(g, "g");\nfunction w(e2, t2, r2) {\n try {\n return c(g(e2, t2, r2));\n } catch (e3) {\n return d(e3);\n }\n}\n__name(w, "w");\nvar S = class {\n constructor() {\n this._cursor = 0, this._size = 0, this._front = { _elements: [], _next: void 0 }, this._back = this._front, this._cursor = 0, this._size = 0;\n }\n get length() {\n return this._size;\n }\n push(e2) {\n const t2 = this._back;\n let r2 = t2;\n 16383 === t2._elements.length && (r2 = { _elements: [], _next: void 0 }), t2._elements.push(e2), r2 !== t2 && (this._back = r2, t2._next = r2), ++this._size;\n }\n shift() {\n const e2 = this._front;\n let t2 = e2;\n const r2 = this._cursor;\n let o2 = r2 + 1;\n const n2 = e2._elements, a2 = n2[r2];\n return 16384 === o2 && (t2 = e2._next, o2 = 0), --this._size, this._cursor = o2, e2 !== t2 && (this._front = t2), n2[r2] = void 0, a2;\n }\n forEach(e2) {\n let t2 = this._cursor, r2 = this._front, o2 = r2._elements;\n for (; !(t2 === o2.length && void 0 === r2._next || t2 === o2.length && (r2 = r2._next, o2 = r2._elements, t2 = 0, 0 === o2.length)); )\n e2(o2[t2]), ++t2;\n }\n peek() {\n const e2 = this._front, t2 = this._cursor;\n return e2._elements[t2];\n }\n};\n__name(S, "S");\nvar v = e("[[AbortSteps]]");\nvar R = e("[[ErrorSteps]]");\nvar T = e("[[CancelSteps]]");\nvar q = e("[[PullSteps]]");\nvar C = e("[[ReleaseSteps]]");\nfunction E(e2, t2) {\n e2._ownerReadableStream = t2, t2._reader = e2, "readable" === t2._state ? O(e2) : "closed" === t2._state ? function(e3) {\n O(e3), j(e3);\n }(e2) : B(e2, t2._storedError);\n}\n__name(E, "E");\nfunction P(e2, t2) {\n return Gt(e2._ownerReadableStream, t2);\n}\n__name(P, "P");\nfunction W(e2) {\n const t2 = e2._ownerReadableStream;\n "readable" === t2._state ? A(e2, new TypeError("Reader was released and can no longer be used to monitor the stream\'s closedness")) : function(e3, t3) {\n B(e3, t3);\n }(e2, new TypeError("Reader was released and can no longer be used to monitor the stream\'s closedness")), t2._readableStreamController[C](), t2._reader = void 0, e2._ownerReadableStream = void 0;\n}\n__name(W, "W");\nfunction k(e2) {\n return new TypeError("Cannot " + e2 + " a stream using a released reader");\n}\n__name(k, "k");\nfunction O(e2) {\n e2._closedPromise = u((t2, r2) => {\n e2._closedPromise_resolve = t2, e2._closedPromise_reject = r2;\n });\n}\n__name(O, "O");\nfunction B(e2, t2) {\n O(e2), A(e2, t2);\n}\n__name(B, "B");\nfunction A(e2, t2) {\n void 0 !== e2._closedPromise_reject && (m(e2._closedPromise), e2._closedPromise_reject(t2), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0);\n}\n__name(A, "A");\nfunction j(e2) {\n void 0 !== e2._closedPromise_resolve && (e2._closedPromise_resolve(void 0), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0);\n}\n__name(j, "j");\nvar z = Number.isFinite || function(e2) {\n return "number" == typeof e2 && isFinite(e2);\n};\nvar L = Math.trunc || function(e2) {\n return e2 < 0 ? Math.ceil(e2) : Math.floor(e2);\n};\nfunction F(e2, t2) {\n if (void 0 !== e2 && ("object" != typeof (r2 = e2) && "function" != typeof r2))\n throw new TypeError(`${t2} is not an object.`);\n var r2;\n}\n__name(F, "F");\nfunction I(e2, t2) {\n if ("function" != typeof e2)\n throw new TypeError(`${t2} is not a function.`);\n}\n__name(I, "I");\nfunction D(e2, t2) {\n if (!function(e3) {\n return "object" == typeof e3 && null !== e3 || "function" == typeof e3;\n }(e2))\n throw new TypeError(`${t2} is not an object.`);\n}\n__name(D, "D");\nfunction $(e2, t2, r2) {\n if (void 0 === e2)\n throw new TypeError(`Parameter ${t2} is required in \'${r2}\'.`);\n}\n__name($, "$");\nfunction M(e2, t2, r2) {\n if (void 0 === e2)\n throw new TypeError(`${t2} is required in \'${r2}\'.`);\n}\n__name(M, "M");\nfunction Y(e2) {\n return Number(e2);\n}\n__name(Y, "Y");\nfunction Q(e2) {\n return 0 === e2 ? 0 : e2;\n}\n__name(Q, "Q");\nfunction N(e2, t2) {\n const r2 = Number.MAX_SAFE_INTEGER;\n let o2 = Number(e2);\n if (o2 = Q(o2), !z(o2))\n throw new TypeError(`${t2} is not a finite number`);\n if (o2 = function(e3) {\n return Q(L(e3));\n }(o2), o2 < 0 || o2 > r2)\n throw new TypeError(`${t2} is outside the accepted range of 0 to ${r2}, inclusive`);\n return z(o2) && 0 !== o2 ? o2 : 0;\n}\n__name(N, "N");\nfunction H(e2) {\n if (!r(e2))\n return false;\n if ("function" != typeof e2.getReader)\n return false;\n try {\n return "boolean" == typeof e2.locked;\n } catch (e3) {\n return false;\n }\n}\n__name(H, "H");\nfunction x(e2) {\n if (!r(e2))\n return false;\n if ("function" != typeof e2.getWriter)\n return false;\n try {\n return "boolean" == typeof e2.locked;\n } catch (e3) {\n return false;\n }\n}\n__name(x, "x");\nfunction V(e2, t2) {\n if (!Vt(e2))\n throw new TypeError(`${t2} is not a ReadableStream.`);\n}\n__name(V, "V");\nfunction U(e2, t2) {\n e2._reader._readRequests.push(t2);\n}\n__name(U, "U");\nfunction G(e2, t2, r2) {\n const o2 = e2._reader._readRequests.shift();\n r2 ? o2._closeSteps() : o2._chunkSteps(t2);\n}\n__name(G, "G");\nfunction X(e2) {\n return e2._reader._readRequests.length;\n}\n__name(X, "X");\nfunction J(e2) {\n const t2 = e2._reader;\n return void 0 !== t2 && !!K(t2);\n}\n__name(J, "J");\nvar ReadableStreamDefaultReader = class {\n constructor(e2) {\n if ($(e2, 1, "ReadableStreamDefaultReader"), V(e2, "First parameter"), Ut(e2))\n throw new TypeError("This stream has already been locked for exclusive reading by another reader");\n E(this, e2), this._readRequests = new S();\n }\n get closed() {\n return K(this) ? this._closedPromise : d(ee("closed"));\n }\n cancel(e2) {\n return K(this) ? void 0 === this._ownerReadableStream ? d(k("cancel")) : P(this, e2) : d(ee("cancel"));\n }\n read() {\n if (!K(this))\n return d(ee("read"));\n if (void 0 === this._ownerReadableStream)\n return d(k("read from"));\n let e2, t2;\n const r2 = u((r3, o2) => {\n e2 = r3, t2 = o2;\n });\n return function(e3, t3) {\n const r3 = e3._ownerReadableStream;\n r3._disturbed = true, "closed" === r3._state ? t3._closeSteps() : "errored" === r3._state ? t3._errorSteps(r3._storedError) : r3._readableStreamController[q](t3);\n }(this, { _chunkSteps: (t3) => e2({ value: t3, done: false }), _closeSteps: () => e2({ value: void 0, done: true }), _errorSteps: (e3) => t2(e3) }), r2;\n }\n releaseLock() {\n if (!K(this))\n throw ee("releaseLock");\n void 0 !== this._ownerReadableStream && function(e2) {\n W(e2);\n const t2 = new TypeError("Reader was released");\n Z(e2, t2);\n }(this);\n }\n};\n__name(ReadableStreamDefaultReader, "ReadableStreamDefaultReader");\nfunction K(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readRequests") && e2 instanceof ReadableStreamDefaultReader);\n}\n__name(K, "K");\nfunction Z(e2, t2) {\n const r2 = e2._readRequests;\n e2._readRequests = new S(), r2.forEach((e3) => {\n e3._errorSteps(t2);\n });\n}\n__name(Z, "Z");\nfunction ee(e2) {\n return new TypeError(`ReadableStreamDefaultReader.prototype.${e2} can only be used on a ReadableStreamDefaultReader`);\n}\n__name(ee, "ee");\nObject.defineProperties(ReadableStreamDefaultReader.prototype, { cancel: { enumerable: true }, read: { enumerable: true }, releaseLock: { enumerable: true }, closed: { enumerable: true } }), n(ReadableStreamDefaultReader.prototype.cancel, "cancel"), n(ReadableStreamDefaultReader.prototype.read, "read"), n(ReadableStreamDefaultReader.prototype.releaseLock, "releaseLock"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamDefaultReader.prototype, e.toStringTag, { value: "ReadableStreamDefaultReader", configurable: true });\nvar te = class {\n constructor(e2, t2) {\n this._ongoingPromise = void 0, this._isFinished = false, this._reader = e2, this._preventCancel = t2;\n }\n next() {\n const e2 = /* @__PURE__ */ __name(() => this._nextSteps(), "e");\n return this._ongoingPromise = this._ongoingPromise ? p(this._ongoingPromise, e2, e2) : e2(), this._ongoingPromise;\n }\n return(e2) {\n const t2 = /* @__PURE__ */ __name(() => this._returnSteps(e2), "t");\n return this._ongoingPromise ? p(this._ongoingPromise, t2, t2) : t2();\n }\n _nextSteps() {\n if (this._isFinished)\n return Promise.resolve({ value: void 0, done: true });\n const e2 = this._reader;\n return void 0 === e2 ? d(k("iterate")) : f(e2.read(), (e3) => {\n var t2;\n return this._ongoingPromise = void 0, e3.done && (this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0), e3;\n }, (e3) => {\n var t2;\n throw this._ongoingPromise = void 0, this._isFinished = true, null === (t2 = this._reader) || void 0 === t2 || t2.releaseLock(), this._reader = void 0, e3;\n });\n }\n _returnSteps(e2) {\n if (this._isFinished)\n return Promise.resolve({ value: e2, done: true });\n this._isFinished = true;\n const t2 = this._reader;\n if (void 0 === t2)\n return d(k("finish iterating"));\n if (this._reader = void 0, !this._preventCancel) {\n const r2 = t2.cancel(e2);\n return t2.releaseLock(), p(r2, () => ({ value: e2, done: true }));\n }\n return t2.releaseLock(), c({ value: e2, done: true });\n }\n};\n__name(te, "te");\nvar re = { next() {\n return oe(this) ? this._asyncIteratorImpl.next() : d(ne("next"));\n}, return(e2) {\n return oe(this) ? this._asyncIteratorImpl.return(e2) : d(ne("return"));\n} };\nfunction oe(e2) {\n if (!r(e2))\n return false;\n if (!Object.prototype.hasOwnProperty.call(e2, "_asyncIteratorImpl"))\n return false;\n try {\n return e2._asyncIteratorImpl instanceof te;\n } catch (e3) {\n return false;\n }\n}\n__name(oe, "oe");\nfunction ne(e2) {\n return new TypeError(`ReadableStreamAsyncIterator.${e2} can only be used on a ReadableSteamAsyncIterator`);\n}\n__name(ne, "ne");\n"symbol" == typeof e.asyncIterator && Object.defineProperty(re, e.asyncIterator, { value() {\n return this;\n}, writable: true, configurable: true });\nvar ae = Number.isNaN || function(e2) {\n return e2 != e2;\n};\nfunction ie(e2, t2, r2, o2, n2) {\n new Uint8Array(e2).set(new Uint8Array(r2, o2, n2), t2);\n}\n__name(ie, "ie");\nfunction le(e2) {\n const t2 = function(e3, t3, r2) {\n if (e3.slice)\n return e3.slice(t3, r2);\n const o2 = r2 - t3, n2 = new ArrayBuffer(o2);\n return ie(n2, 0, e3, t3, o2), n2;\n }(e2.buffer, e2.byteOffset, e2.byteOffset + e2.byteLength);\n return new Uint8Array(t2);\n}\n__name(le, "le");\nfunction se(e2) {\n const t2 = e2._queue.shift();\n return e2._queueTotalSize -= t2.size, e2._queueTotalSize < 0 && (e2._queueTotalSize = 0), t2.value;\n}\n__name(se, "se");\nfunction ue(e2, t2, r2) {\n if ("number" != typeof (o2 = r2) || ae(o2) || o2 < 0 || r2 === 1 / 0)\n throw new RangeError("Size must be a finite, non-NaN, non-negative number.");\n var o2;\n e2._queue.push({ value: t2, size: r2 }), e2._queueTotalSize += r2;\n}\n__name(ue, "ue");\nfunction ce(e2) {\n e2._queue = new S(), e2._queueTotalSize = 0;\n}\n__name(ce, "ce");\nvar ReadableStreamBYOBRequest = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get view() {\n if (!fe(this))\n throw Be("view");\n return this._view;\n }\n respond(e2) {\n if (!fe(this))\n throw Be("respond");\n if ($(e2, 1, "respond"), e2 = N(e2, "First parameter"), void 0 === this._associatedReadableByteStreamController)\n throw new TypeError("This BYOB request has been invalidated");\n this._view.buffer, function(e3, t2) {\n const r2 = e3._pendingPullIntos.peek();\n if ("closed" === e3._controlledReadableByteStream._state) {\n if (0 !== t2)\n throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");\n } else {\n if (0 === t2)\n throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");\n if (r2.bytesFilled + t2 > r2.byteLength)\n throw new RangeError("bytesWritten out of range");\n }\n r2.buffer = r2.buffer, qe(e3, t2);\n }(this._associatedReadableByteStreamController, e2);\n }\n respondWithNewView(e2) {\n if (!fe(this))\n throw Be("respondWithNewView");\n if ($(e2, 1, "respondWithNewView"), !ArrayBuffer.isView(e2))\n throw new TypeError("You can only respond with array buffer views");\n if (void 0 === this._associatedReadableByteStreamController)\n throw new TypeError("This BYOB request has been invalidated");\n e2.buffer, function(e3, t2) {\n const r2 = e3._pendingPullIntos.peek();\n if ("closed" === e3._controlledReadableByteStream._state) {\n if (0 !== t2.byteLength)\n throw new TypeError("The view\'s length must be 0 when calling respondWithNewView() on a closed stream");\n } else if (0 === t2.byteLength)\n throw new TypeError("The view\'s length must be greater than 0 when calling respondWithNewView() on a readable stream");\n if (r2.byteOffset + r2.bytesFilled !== t2.byteOffset)\n throw new RangeError("The region specified by view does not match byobRequest");\n if (r2.bufferByteLength !== t2.buffer.byteLength)\n throw new RangeError("The buffer of view has different capacity than byobRequest");\n if (r2.bytesFilled + t2.byteLength > r2.byteLength)\n throw new RangeError("The region specified by view is larger than byobRequest");\n const o2 = t2.byteLength;\n r2.buffer = t2.buffer, qe(e3, o2);\n }(this._associatedReadableByteStreamController, e2);\n }\n};\n__name(ReadableStreamBYOBRequest, "ReadableStreamBYOBRequest");\nObject.defineProperties(ReadableStreamBYOBRequest.prototype, { respond: { enumerable: true }, respondWithNewView: { enumerable: true }, view: { enumerable: true } }), n(ReadableStreamBYOBRequest.prototype.respond, "respond"), n(ReadableStreamBYOBRequest.prototype.respondWithNewView, "respondWithNewView"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamBYOBRequest.prototype, e.toStringTag, { value: "ReadableStreamBYOBRequest", configurable: true });\nvar ReadableByteStreamController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get byobRequest() {\n if (!de(this))\n throw Ae("byobRequest");\n return function(e2) {\n if (null === e2._byobRequest && e2._pendingPullIntos.length > 0) {\n const t2 = e2._pendingPullIntos.peek(), r2 = new Uint8Array(t2.buffer, t2.byteOffset + t2.bytesFilled, t2.byteLength - t2.bytesFilled), o2 = Object.create(ReadableStreamBYOBRequest.prototype);\n !function(e3, t3, r3) {\n e3._associatedReadableByteStreamController = t3, e3._view = r3;\n }(o2, e2, r2), e2._byobRequest = o2;\n }\n return e2._byobRequest;\n }(this);\n }\n get desiredSize() {\n if (!de(this))\n throw Ae("desiredSize");\n return ke(this);\n }\n close() {\n if (!de(this))\n throw Ae("close");\n if (this._closeRequested)\n throw new TypeError("The stream has already been closed; do not close it again!");\n const e2 = this._controlledReadableByteStream._state;\n if ("readable" !== e2)\n throw new TypeError(`The stream (in ${e2} state) is not in the readable state and cannot be closed`);\n !function(e3) {\n const t2 = e3._controlledReadableByteStream;\n if (e3._closeRequested || "readable" !== t2._state)\n return;\n if (e3._queueTotalSize > 0)\n return void (e3._closeRequested = true);\n if (e3._pendingPullIntos.length > 0) {\n if (e3._pendingPullIntos.peek().bytesFilled > 0) {\n const t3 = new TypeError("Insufficient bytes to fill elements in the given buffer");\n throw Pe(e3, t3), t3;\n }\n }\n Ee(e3), Xt(t2);\n }(this);\n }\n enqueue(e2) {\n if (!de(this))\n throw Ae("enqueue");\n if ($(e2, 1, "enqueue"), !ArrayBuffer.isView(e2))\n throw new TypeError("chunk must be an array buffer view");\n if (0 === e2.byteLength)\n throw new TypeError("chunk must have non-zero byteLength");\n if (0 === e2.buffer.byteLength)\n throw new TypeError("chunk\'s buffer must have non-zero byteLength");\n if (this._closeRequested)\n throw new TypeError("stream is closed or draining");\n const t2 = this._controlledReadableByteStream._state;\n if ("readable" !== t2)\n throw new TypeError(`The stream (in ${t2} state) is not in the readable state and cannot be enqueued to`);\n !function(e3, t3) {\n const r2 = e3._controlledReadableByteStream;\n if (e3._closeRequested || "readable" !== r2._state)\n return;\n const o2 = t3.buffer, n2 = t3.byteOffset, a2 = t3.byteLength, i2 = o2;\n if (e3._pendingPullIntos.length > 0) {\n const t4 = e3._pendingPullIntos.peek();\n t4.buffer, 0, Re(e3), t4.buffer = t4.buffer, "none" === t4.readerType && ge(e3, t4);\n }\n if (J(r2))\n if (function(e4) {\n const t4 = e4._controlledReadableByteStream._reader;\n for (; t4._readRequests.length > 0; ) {\n if (0 === e4._queueTotalSize)\n return;\n We(e4, t4._readRequests.shift());\n }\n }(e3), 0 === X(r2))\n me(e3, i2, n2, a2);\n else {\n e3._pendingPullIntos.length > 0 && Ce(e3);\n G(r2, new Uint8Array(i2, n2, a2), false);\n }\n else\n Le(r2) ? (me(e3, i2, n2, a2), Te(e3)) : me(e3, i2, n2, a2);\n be(e3);\n }(this, e2);\n }\n error(e2) {\n if (!de(this))\n throw Ae("error");\n Pe(this, e2);\n }\n [T](e2) {\n he(this), ce(this);\n const t2 = this._cancelAlgorithm(e2);\n return Ee(this), t2;\n }\n [q](e2) {\n const t2 = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0)\n return void We(this, e2);\n const r2 = this._autoAllocateChunkSize;\n if (void 0 !== r2) {\n let t3;\n try {\n t3 = new ArrayBuffer(r2);\n } catch (t4) {\n return void e2._errorSteps(t4);\n }\n const o2 = { buffer: t3, bufferByteLength: r2, byteOffset: 0, byteLength: r2, bytesFilled: 0, elementSize: 1, viewConstructor: Uint8Array, readerType: "default" };\n this._pendingPullIntos.push(o2);\n }\n U(t2, e2), be(this);\n }\n [C]() {\n if (this._pendingPullIntos.length > 0) {\n const e2 = this._pendingPullIntos.peek();\n e2.readerType = "none", this._pendingPullIntos = new S(), this._pendingPullIntos.push(e2);\n }\n }\n};\n__name(ReadableByteStreamController, "ReadableByteStreamController");\nfunction de(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledReadableByteStream") && e2 instanceof ReadableByteStreamController);\n}\n__name(de, "de");\nfunction fe(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_associatedReadableByteStreamController") && e2 instanceof ReadableStreamBYOBRequest);\n}\n__name(fe, "fe");\nfunction be(e2) {\n const t2 = function(e3) {\n const t3 = e3._controlledReadableByteStream;\n if ("readable" !== t3._state)\n return false;\n if (e3._closeRequested)\n return false;\n if (!e3._started)\n return false;\n if (J(t3) && X(t3) > 0)\n return true;\n if (Le(t3) && ze(t3) > 0)\n return true;\n if (ke(e3) > 0)\n return true;\n return false;\n }(e2);\n if (!t2)\n return;\n if (e2._pulling)\n return void (e2._pullAgain = true);\n e2._pulling = true;\n b(e2._pullAlgorithm(), () => (e2._pulling = false, e2._pullAgain && (e2._pullAgain = false, be(e2)), null), (t3) => (Pe(e2, t3), null));\n}\n__name(be, "be");\nfunction he(e2) {\n Re(e2), e2._pendingPullIntos = new S();\n}\n__name(he, "he");\nfunction _e(e2, t2) {\n let r2 = false;\n "closed" === e2._state && (r2 = true);\n const o2 = pe(t2);\n "default" === t2.readerType ? G(e2, o2, r2) : function(e3, t3, r3) {\n const o3 = e3._reader._readIntoRequests.shift();\n r3 ? o3._closeSteps(t3) : o3._chunkSteps(t3);\n }(e2, o2, r2);\n}\n__name(_e, "_e");\nfunction pe(e2) {\n const t2 = e2.bytesFilled, r2 = e2.elementSize;\n return new e2.viewConstructor(e2.buffer, e2.byteOffset, t2 / r2);\n}\n__name(pe, "pe");\nfunction me(e2, t2, r2, o2) {\n e2._queue.push({ buffer: t2, byteOffset: r2, byteLength: o2 }), e2._queueTotalSize += o2;\n}\n__name(me, "me");\nfunction ye(e2, t2, r2, o2) {\n let n2;\n try {\n n2 = t2.slice(r2, r2 + o2);\n } catch (t3) {\n throw Pe(e2, t3), t3;\n }\n me(e2, n2, 0, o2);\n}\n__name(ye, "ye");\nfunction ge(e2, t2) {\n t2.bytesFilled > 0 && ye(e2, t2.buffer, t2.byteOffset, t2.bytesFilled), Ce(e2);\n}\n__name(ge, "ge");\nfunction we(e2, t2) {\n const r2 = t2.elementSize, o2 = t2.bytesFilled - t2.bytesFilled % r2, n2 = Math.min(e2._queueTotalSize, t2.byteLength - t2.bytesFilled), a2 = t2.bytesFilled + n2, i2 = a2 - a2 % r2;\n let l2 = n2, s2 = false;\n i2 > o2 && (l2 = i2 - t2.bytesFilled, s2 = true);\n const u2 = e2._queue;\n for (; l2 > 0; ) {\n const r3 = u2.peek(), o3 = Math.min(l2, r3.byteLength), n3 = t2.byteOffset + t2.bytesFilled;\n ie(t2.buffer, n3, r3.buffer, r3.byteOffset, o3), r3.byteLength === o3 ? u2.shift() : (r3.byteOffset += o3, r3.byteLength -= o3), e2._queueTotalSize -= o3, Se(e2, o3, t2), l2 -= o3;\n }\n return s2;\n}\n__name(we, "we");\nfunction Se(e2, t2, r2) {\n r2.bytesFilled += t2;\n}\n__name(Se, "Se");\nfunction ve(e2) {\n 0 === e2._queueTotalSize && e2._closeRequested ? (Ee(e2), Xt(e2._controlledReadableByteStream)) : be(e2);\n}\n__name(ve, "ve");\nfunction Re(e2) {\n null !== e2._byobRequest && (e2._byobRequest._associatedReadableByteStreamController = void 0, e2._byobRequest._view = null, e2._byobRequest = null);\n}\n__name(Re, "Re");\nfunction Te(e2) {\n for (; e2._pendingPullIntos.length > 0; ) {\n if (0 === e2._queueTotalSize)\n return;\n const t2 = e2._pendingPullIntos.peek();\n we(e2, t2) && (Ce(e2), _e(e2._controlledReadableByteStream, t2));\n }\n}\n__name(Te, "Te");\nfunction qe(e2, t2) {\n const r2 = e2._pendingPullIntos.peek();\n Re(e2);\n "closed" === e2._controlledReadableByteStream._state ? function(e3, t3) {\n "none" === t3.readerType && Ce(e3);\n const r3 = e3._controlledReadableByteStream;\n if (Le(r3))\n for (; ze(r3) > 0; )\n _e(r3, Ce(e3));\n }(e2, r2) : function(e3, t3, r3) {\n if (Se(0, t3, r3), "none" === r3.readerType)\n return ge(e3, r3), void Te(e3);\n if (r3.bytesFilled < r3.elementSize)\n return;\n Ce(e3);\n const o2 = r3.bytesFilled % r3.elementSize;\n if (o2 > 0) {\n const t4 = r3.byteOffset + r3.bytesFilled;\n ye(e3, r3.buffer, t4 - o2, o2);\n }\n r3.bytesFilled -= o2, _e(e3._controlledReadableByteStream, r3), Te(e3);\n }(e2, t2, r2), be(e2);\n}\n__name(qe, "qe");\nfunction Ce(e2) {\n return e2._pendingPullIntos.shift();\n}\n__name(Ce, "Ce");\nfunction Ee(e2) {\n e2._pullAlgorithm = void 0, e2._cancelAlgorithm = void 0;\n}\n__name(Ee, "Ee");\nfunction Pe(e2, t2) {\n const r2 = e2._controlledReadableByteStream;\n "readable" === r2._state && (he(e2), ce(e2), Ee(e2), Jt(r2, t2));\n}\n__name(Pe, "Pe");\nfunction We(e2, t2) {\n const r2 = e2._queue.shift();\n e2._queueTotalSize -= r2.byteLength, ve(e2);\n const o2 = new Uint8Array(r2.buffer, r2.byteOffset, r2.byteLength);\n t2._chunkSteps(o2);\n}\n__name(We, "We");\nfunction ke(e2) {\n const t2 = e2._controlledReadableByteStream._state;\n return "errored" === t2 ? null : "closed" === t2 ? 0 : e2._strategyHWM - e2._queueTotalSize;\n}\n__name(ke, "ke");\nfunction Oe(e2, t2, r2) {\n const o2 = Object.create(ReadableByteStreamController.prototype);\n let n2, a2, i2;\n n2 = void 0 !== t2.start ? () => t2.start(o2) : () => {\n }, a2 = void 0 !== t2.pull ? () => t2.pull(o2) : () => c(void 0), i2 = void 0 !== t2.cancel ? (e3) => t2.cancel(e3) : () => c(void 0);\n const l2 = t2.autoAllocateChunkSize;\n if (0 === l2)\n throw new TypeError("autoAllocateChunkSize must be greater than 0");\n !function(e3, t3, r3, o3, n3, a3, i3) {\n t3._controlledReadableByteStream = e3, t3._pullAgain = false, t3._pulling = false, t3._byobRequest = null, t3._queue = t3._queueTotalSize = void 0, ce(t3), t3._closeRequested = false, t3._started = false, t3._strategyHWM = a3, t3._pullAlgorithm = o3, t3._cancelAlgorithm = n3, t3._autoAllocateChunkSize = i3, t3._pendingPullIntos = new S(), e3._readableStreamController = t3, b(c(r3()), () => (t3._started = true, be(t3), null), (e4) => (Pe(t3, e4), null));\n }(e2, o2, n2, a2, i2, r2, l2);\n}\n__name(Oe, "Oe");\nfunction Be(e2) {\n return new TypeError(`ReadableStreamBYOBRequest.prototype.${e2} can only be used on a ReadableStreamBYOBRequest`);\n}\n__name(Be, "Be");\nfunction Ae(e2) {\n return new TypeError(`ReadableByteStreamController.prototype.${e2} can only be used on a ReadableByteStreamController`);\n}\n__name(Ae, "Ae");\nfunction je(e2, t2) {\n e2._reader._readIntoRequests.push(t2);\n}\n__name(je, "je");\nfunction ze(e2) {\n return e2._reader._readIntoRequests.length;\n}\n__name(ze, "ze");\nfunction Le(e2) {\n const t2 = e2._reader;\n return void 0 !== t2 && !!Fe(t2);\n}\n__name(Le, "Le");\nObject.defineProperties(ReadableByteStreamController.prototype, { close: { enumerable: true }, enqueue: { enumerable: true }, error: { enumerable: true }, byobRequest: { enumerable: true }, desiredSize: { enumerable: true } }), n(ReadableByteStreamController.prototype.close, "close"), n(ReadableByteStreamController.prototype.enqueue, "enqueue"), n(ReadableByteStreamController.prototype.error, "error"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableByteStreamController.prototype, e.toStringTag, { value: "ReadableByteStreamController", configurable: true });\nvar ReadableStreamBYOBReader = class {\n constructor(e2) {\n if ($(e2, 1, "ReadableStreamBYOBReader"), V(e2, "First parameter"), Ut(e2))\n throw new TypeError("This stream has already been locked for exclusive reading by another reader");\n if (!de(e2._readableStreamController))\n throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");\n E(this, e2), this._readIntoRequests = new S();\n }\n get closed() {\n return Fe(this) ? this._closedPromise : d(De("closed"));\n }\n cancel(e2) {\n return Fe(this) ? void 0 === this._ownerReadableStream ? d(k("cancel")) : P(this, e2) : d(De("cancel"));\n }\n read(e2) {\n if (!Fe(this))\n return d(De("read"));\n if (!ArrayBuffer.isView(e2))\n return d(new TypeError("view must be an array buffer view"));\n if (0 === e2.byteLength)\n return d(new TypeError("view must have non-zero byteLength"));\n if (0 === e2.buffer.byteLength)\n return d(new TypeError("view\'s buffer must have non-zero byteLength"));\n if (e2.buffer, void 0 === this._ownerReadableStream)\n return d(k("read from"));\n let t2, r2;\n const o2 = u((e3, o3) => {\n t2 = e3, r2 = o3;\n });\n return function(e3, t3, r3) {\n const o3 = e3._ownerReadableStream;\n o3._disturbed = true, "errored" === o3._state ? r3._errorSteps(o3._storedError) : function(e4, t4, r4) {\n const o4 = e4._controlledReadableByteStream;\n let n2 = 1;\n t4.constructor !== DataView && (n2 = t4.constructor.BYTES_PER_ELEMENT);\n const a2 = t4.constructor, i2 = t4.buffer, l2 = { buffer: i2, bufferByteLength: i2.byteLength, byteOffset: t4.byteOffset, byteLength: t4.byteLength, bytesFilled: 0, elementSize: n2, viewConstructor: a2, readerType: "byob" };\n if (e4._pendingPullIntos.length > 0)\n return e4._pendingPullIntos.push(l2), void je(o4, r4);\n if ("closed" !== o4._state) {\n if (e4._queueTotalSize > 0) {\n if (we(e4, l2)) {\n const t5 = pe(l2);\n return ve(e4), void r4._chunkSteps(t5);\n }\n if (e4._closeRequested) {\n const t5 = new TypeError("Insufficient bytes to fill elements in the given buffer");\n return Pe(e4, t5), void r4._errorSteps(t5);\n }\n }\n e4._pendingPullIntos.push(l2), je(o4, r4), be(e4);\n } else {\n const e5 = new a2(l2.buffer, l2.byteOffset, 0);\n r4._closeSteps(e5);\n }\n }(o3._readableStreamController, t3, r3);\n }(this, e2, { _chunkSteps: (e3) => t2({ value: e3, done: false }), _closeSteps: (e3) => t2({ value: e3, done: true }), _errorSteps: (e3) => r2(e3) }), o2;\n }\n releaseLock() {\n if (!Fe(this))\n throw De("releaseLock");\n void 0 !== this._ownerReadableStream && function(e2) {\n W(e2);\n const t2 = new TypeError("Reader was released");\n Ie(e2, t2);\n }(this);\n }\n};\n__name(ReadableStreamBYOBReader, "ReadableStreamBYOBReader");\nfunction Fe(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readIntoRequests") && e2 instanceof ReadableStreamBYOBReader);\n}\n__name(Fe, "Fe");\nfunction Ie(e2, t2) {\n const r2 = e2._readIntoRequests;\n e2._readIntoRequests = new S(), r2.forEach((e3) => {\n e3._errorSteps(t2);\n });\n}\n__name(Ie, "Ie");\nfunction De(e2) {\n return new TypeError(`ReadableStreamBYOBReader.prototype.${e2} can only be used on a ReadableStreamBYOBReader`);\n}\n__name(De, "De");\nfunction $e(e2, t2) {\n const { highWaterMark: r2 } = e2;\n if (void 0 === r2)\n return t2;\n if (ae(r2) || r2 < 0)\n throw new RangeError("Invalid highWaterMark");\n return r2;\n}\n__name($e, "$e");\nfunction Me(e2) {\n const { size: t2 } = e2;\n return t2 || (() => 1);\n}\n__name(Me, "Me");\nfunction Ye(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.highWaterMark, o2 = null == e2 ? void 0 : e2.size;\n return { highWaterMark: void 0 === r2 ? void 0 : Y(r2), size: void 0 === o2 ? void 0 : Qe(o2, `${t2} has member \'size\' that`) };\n}\n__name(Ye, "Ye");\nfunction Qe(e2, t2) {\n return I(e2, t2), (t3) => Y(e2(t3));\n}\n__name(Qe, "Qe");\nfunction Ne(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(Ne, "Ne");\nfunction He(e2, t2, r2) {\n return I(e2, r2), () => w(e2, t2, []);\n}\n__name(He, "He");\nfunction xe(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(xe, "xe");\nfunction Ve(e2, t2, r2) {\n return I(e2, r2), (r3, o2) => w(e2, t2, [r3, o2]);\n}\n__name(Ve, "Ve");\nObject.defineProperties(ReadableStreamBYOBReader.prototype, { cancel: { enumerable: true }, read: { enumerable: true }, releaseLock: { enumerable: true }, closed: { enumerable: true } }), n(ReadableStreamBYOBReader.prototype.cancel, "cancel"), n(ReadableStreamBYOBReader.prototype.read, "read"), n(ReadableStreamBYOBReader.prototype.releaseLock, "releaseLock"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamBYOBReader.prototype, e.toStringTag, { value: "ReadableStreamBYOBReader", configurable: true });\nvar Ue = "function" == typeof AbortController;\nvar WritableStream = class {\n constructor(e2 = {}, t2 = {}) {\n void 0 === e2 ? e2 = null : D(e2, "First parameter");\n const r2 = Ye(t2, "Second parameter"), o2 = function(e3, t3) {\n F(e3, t3);\n const r3 = null == e3 ? void 0 : e3.abort, o3 = null == e3 ? void 0 : e3.close, n3 = null == e3 ? void 0 : e3.start, a3 = null == e3 ? void 0 : e3.type, i2 = null == e3 ? void 0 : e3.write;\n return { abort: void 0 === r3 ? void 0 : Ne(r3, e3, `${t3} has member \'abort\' that`), close: void 0 === o3 ? void 0 : He(o3, e3, `${t3} has member \'close\' that`), start: void 0 === n3 ? void 0 : xe(n3, e3, `${t3} has member \'start\' that`), write: void 0 === i2 ? void 0 : Ve(i2, e3, `${t3} has member \'write\' that`), type: a3 };\n }(e2, "First parameter");\n var n2;\n (n2 = this)._state = "writable", n2._storedError = void 0, n2._writer = void 0, n2._writableStreamController = void 0, n2._writeRequests = new S(), n2._inFlightWriteRequest = void 0, n2._closeRequest = void 0, n2._inFlightCloseRequest = void 0, n2._pendingAbortRequest = void 0, n2._backpressure = false;\n if (void 0 !== o2.type)\n throw new RangeError("Invalid type is specified");\n const a2 = Me(r2);\n !function(e3, t3, r3, o3) {\n const n3 = Object.create(WritableStreamDefaultController.prototype);\n let a3, i2, l2, s2;\n a3 = void 0 !== t3.start ? () => t3.start(n3) : () => {\n };\n i2 = void 0 !== t3.write ? (e4) => t3.write(e4, n3) : () => c(void 0);\n l2 = void 0 !== t3.close ? () => t3.close() : () => c(void 0);\n s2 = void 0 !== t3.abort ? (e4) => t3.abort(e4) : () => c(void 0);\n !function(e4, t4, r4, o4, n4, a4, i3, l3) {\n t4._controlledWritableStream = e4, e4._writableStreamController = t4, t4._queue = void 0, t4._queueTotalSize = void 0, ce(t4), t4._abortReason = void 0, t4._abortController = function() {\n if (Ue)\n return new AbortController();\n }(), t4._started = false, t4._strategySizeAlgorithm = l3, t4._strategyHWM = i3, t4._writeAlgorithm = o4, t4._closeAlgorithm = n4, t4._abortAlgorithm = a4;\n const s3 = bt(t4);\n nt(e4, s3);\n const u2 = r4();\n b(c(u2), () => (t4._started = true, dt(t4), null), (r5) => (t4._started = true, Ze(e4, r5), null));\n }(e3, n3, a3, i2, l2, s2, r3, o3);\n }(this, o2, $e(r2, 1), a2);\n }\n get locked() {\n if (!Ge(this))\n throw _t("locked");\n return Xe(this);\n }\n abort(e2) {\n return Ge(this) ? Xe(this) ? d(new TypeError("Cannot abort a stream that already has a writer")) : Je(this, e2) : d(_t("abort"));\n }\n close() {\n return Ge(this) ? Xe(this) ? d(new TypeError("Cannot close a stream that already has a writer")) : rt(this) ? d(new TypeError("Cannot close an already-closing stream")) : Ke(this) : d(_t("close"));\n }\n getWriter() {\n if (!Ge(this))\n throw _t("getWriter");\n return new WritableStreamDefaultWriter(this);\n }\n};\n__name(WritableStream, "WritableStream");\nfunction Ge(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_writableStreamController") && e2 instanceof WritableStream);\n}\n__name(Ge, "Ge");\nfunction Xe(e2) {\n return void 0 !== e2._writer;\n}\n__name(Xe, "Xe");\nfunction Je(e2, t2) {\n var r2;\n if ("closed" === e2._state || "errored" === e2._state)\n return c(void 0);\n e2._writableStreamController._abortReason = t2, null === (r2 = e2._writableStreamController._abortController) || void 0 === r2 || r2.abort(t2);\n const o2 = e2._state;\n if ("closed" === o2 || "errored" === o2)\n return c(void 0);\n if (void 0 !== e2._pendingAbortRequest)\n return e2._pendingAbortRequest._promise;\n let n2 = false;\n "erroring" === o2 && (n2 = true, t2 = void 0);\n const a2 = u((r3, o3) => {\n e2._pendingAbortRequest = { _promise: void 0, _resolve: r3, _reject: o3, _reason: t2, _wasAlreadyErroring: n2 };\n });\n return e2._pendingAbortRequest._promise = a2, n2 || et(e2, t2), a2;\n}\n__name(Je, "Je");\nfunction Ke(e2) {\n const t2 = e2._state;\n if ("closed" === t2 || "errored" === t2)\n return d(new TypeError(`The stream (in ${t2} state) is not in the writable state and cannot be closed`));\n const r2 = u((t3, r3) => {\n const o3 = { _resolve: t3, _reject: r3 };\n e2._closeRequest = o3;\n }), o2 = e2._writer;\n var n2;\n return void 0 !== o2 && e2._backpressure && "writable" === t2 && Et(o2), ue(n2 = e2._writableStreamController, lt, 0), dt(n2), r2;\n}\n__name(Ke, "Ke");\nfunction Ze(e2, t2) {\n "writable" !== e2._state ? tt(e2) : et(e2, t2);\n}\n__name(Ze, "Ze");\nfunction et(e2, t2) {\n const r2 = e2._writableStreamController;\n e2._state = "erroring", e2._storedError = t2;\n const o2 = e2._writer;\n void 0 !== o2 && it(o2, t2), !function(e3) {\n if (void 0 === e3._inFlightWriteRequest && void 0 === e3._inFlightCloseRequest)\n return false;\n return true;\n }(e2) && r2._started && tt(e2);\n}\n__name(et, "et");\nfunction tt(e2) {\n e2._state = "errored", e2._writableStreamController[R]();\n const t2 = e2._storedError;\n if (e2._writeRequests.forEach((e3) => {\n e3._reject(t2);\n }), e2._writeRequests = new S(), void 0 === e2._pendingAbortRequest)\n return void ot(e2);\n const r2 = e2._pendingAbortRequest;\n if (e2._pendingAbortRequest = void 0, r2._wasAlreadyErroring)\n return r2._reject(t2), void ot(e2);\n b(e2._writableStreamController[v](r2._reason), () => (r2._resolve(), ot(e2), null), (t3) => (r2._reject(t3), ot(e2), null));\n}\n__name(tt, "tt");\nfunction rt(e2) {\n return void 0 !== e2._closeRequest || void 0 !== e2._inFlightCloseRequest;\n}\n__name(rt, "rt");\nfunction ot(e2) {\n void 0 !== e2._closeRequest && (e2._closeRequest._reject(e2._storedError), e2._closeRequest = void 0);\n const t2 = e2._writer;\n void 0 !== t2 && St(t2, e2._storedError);\n}\n__name(ot, "ot");\nfunction nt(e2, t2) {\n const r2 = e2._writer;\n void 0 !== r2 && t2 !== e2._backpressure && (t2 ? function(e3) {\n Rt(e3);\n }(r2) : Et(r2)), e2._backpressure = t2;\n}\n__name(nt, "nt");\nObject.defineProperties(WritableStream.prototype, { abort: { enumerable: true }, close: { enumerable: true }, getWriter: { enumerable: true }, locked: { enumerable: true } }), n(WritableStream.prototype.abort, "abort"), n(WritableStream.prototype.close, "close"), n(WritableStream.prototype.getWriter, "getWriter"), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStream.prototype, e.toStringTag, { value: "WritableStream", configurable: true });\nvar WritableStreamDefaultWriter = class {\n constructor(e2) {\n if ($(e2, 1, "WritableStreamDefaultWriter"), function(e3, t3) {\n if (!Ge(e3))\n throw new TypeError(`${t3} is not a WritableStream.`);\n }(e2, "First parameter"), Xe(e2))\n throw new TypeError("This stream has already been locked for exclusive writing by another writer");\n this._ownerWritableStream = e2, e2._writer = this;\n const t2 = e2._state;\n if ("writable" === t2)\n !rt(e2) && e2._backpressure ? Rt(this) : qt(this), gt(this);\n else if ("erroring" === t2)\n Tt(this, e2._storedError), gt(this);\n else if ("closed" === t2)\n qt(this), gt(r2 = this), vt(r2);\n else {\n const t3 = e2._storedError;\n Tt(this, t3), wt(this, t3);\n }\n var r2;\n }\n get closed() {\n return at(this) ? this._closedPromise : d(mt("closed"));\n }\n get desiredSize() {\n if (!at(this))\n throw mt("desiredSize");\n if (void 0 === this._ownerWritableStream)\n throw yt("desiredSize");\n return function(e2) {\n const t2 = e2._ownerWritableStream, r2 = t2._state;\n if ("errored" === r2 || "erroring" === r2)\n return null;\n if ("closed" === r2)\n return 0;\n return ct(t2._writableStreamController);\n }(this);\n }\n get ready() {\n return at(this) ? this._readyPromise : d(mt("ready"));\n }\n abort(e2) {\n return at(this) ? void 0 === this._ownerWritableStream ? d(yt("abort")) : function(e3, t2) {\n return Je(e3._ownerWritableStream, t2);\n }(this, e2) : d(mt("abort"));\n }\n close() {\n if (!at(this))\n return d(mt("close"));\n const e2 = this._ownerWritableStream;\n return void 0 === e2 ? d(yt("close")) : rt(e2) ? d(new TypeError("Cannot close an already-closing stream")) : Ke(this._ownerWritableStream);\n }\n releaseLock() {\n if (!at(this))\n throw mt("releaseLock");\n void 0 !== this._ownerWritableStream && function(e2) {\n const t2 = e2._ownerWritableStream, r2 = new TypeError("Writer was released and can no longer be used to monitor the stream\'s closedness");\n it(e2, r2), function(e3, t3) {\n "pending" === e3._closedPromiseState ? St(e3, t3) : function(e4, t4) {\n wt(e4, t4);\n }(e3, t3);\n }(e2, r2), t2._writer = void 0, e2._ownerWritableStream = void 0;\n }(this);\n }\n write(e2) {\n return at(this) ? void 0 === this._ownerWritableStream ? d(yt("write to")) : function(e3, t2) {\n const r2 = e3._ownerWritableStream, o2 = r2._writableStreamController, n2 = function(e4, t3) {\n try {\n return e4._strategySizeAlgorithm(t3);\n } catch (t4) {\n return ft(e4, t4), 1;\n }\n }(o2, t2);\n if (r2 !== e3._ownerWritableStream)\n return d(yt("write to"));\n const a2 = r2._state;\n if ("errored" === a2)\n return d(r2._storedError);\n if (rt(r2) || "closed" === a2)\n return d(new TypeError("The stream is closing or closed and cannot be written to"));\n if ("erroring" === a2)\n return d(r2._storedError);\n const i2 = function(e4) {\n return u((t3, r3) => {\n const o3 = { _resolve: t3, _reject: r3 };\n e4._writeRequests.push(o3);\n });\n }(r2);\n return function(e4, t3, r3) {\n try {\n ue(e4, t3, r3);\n } catch (t4) {\n return void ft(e4, t4);\n }\n const o3 = e4._controlledWritableStream;\n if (!rt(o3) && "writable" === o3._state) {\n nt(o3, bt(e4));\n }\n dt(e4);\n }(o2, t2, n2), i2;\n }(this, e2) : d(mt("write"));\n }\n};\n__name(WritableStreamDefaultWriter, "WritableStreamDefaultWriter");\nfunction at(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_ownerWritableStream") && e2 instanceof WritableStreamDefaultWriter);\n}\n__name(at, "at");\nfunction it(e2, t2) {\n "pending" === e2._readyPromiseState ? Ct(e2, t2) : function(e3, t3) {\n Tt(e3, t3);\n }(e2, t2);\n}\n__name(it, "it");\nObject.defineProperties(WritableStreamDefaultWriter.prototype, { abort: { enumerable: true }, close: { enumerable: true }, releaseLock: { enumerable: true }, write: { enumerable: true }, closed: { enumerable: true }, desiredSize: { enumerable: true }, ready: { enumerable: true } }), n(WritableStreamDefaultWriter.prototype.abort, "abort"), n(WritableStreamDefaultWriter.prototype.close, "close"), n(WritableStreamDefaultWriter.prototype.releaseLock, "releaseLock"), n(WritableStreamDefaultWriter.prototype.write, "write"), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStreamDefaultWriter.prototype, e.toStringTag, { value: "WritableStreamDefaultWriter", configurable: true });\nvar lt = {};\nvar WritableStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get abortReason() {\n if (!st(this))\n throw pt("abortReason");\n return this._abortReason;\n }\n get signal() {\n if (!st(this))\n throw pt("signal");\n if (void 0 === this._abortController)\n throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");\n return this._abortController.signal;\n }\n error(e2) {\n if (!st(this))\n throw pt("error");\n "writable" === this._controlledWritableStream._state && ht(this, e2);\n }\n [v](e2) {\n const t2 = this._abortAlgorithm(e2);\n return ut(this), t2;\n }\n [R]() {\n ce(this);\n }\n};\n__name(WritableStreamDefaultController, "WritableStreamDefaultController");\nfunction st(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledWritableStream") && e2 instanceof WritableStreamDefaultController);\n}\n__name(st, "st");\nfunction ut(e2) {\n e2._writeAlgorithm = void 0, e2._closeAlgorithm = void 0, e2._abortAlgorithm = void 0, e2._strategySizeAlgorithm = void 0;\n}\n__name(ut, "ut");\nfunction ct(e2) {\n return e2._strategyHWM - e2._queueTotalSize;\n}\n__name(ct, "ct");\nfunction dt(e2) {\n const t2 = e2._controlledWritableStream;\n if (!e2._started)\n return;\n if (void 0 !== t2._inFlightWriteRequest)\n return;\n if ("erroring" === t2._state)\n return void tt(t2);\n if (0 === e2._queue.length)\n return;\n const r2 = e2._queue.peek().value;\n r2 === lt ? function(e3) {\n const t3 = e3._controlledWritableStream;\n (function(e4) {\n e4._inFlightCloseRequest = e4._closeRequest, e4._closeRequest = void 0;\n })(t3), se(e3);\n const r3 = e3._closeAlgorithm();\n ut(e3), b(r3, () => (function(e4) {\n e4._inFlightCloseRequest._resolve(void 0), e4._inFlightCloseRequest = void 0, "erroring" === e4._state && (e4._storedError = void 0, void 0 !== e4._pendingAbortRequest && (e4._pendingAbortRequest._resolve(), e4._pendingAbortRequest = void 0)), e4._state = "closed";\n const t4 = e4._writer;\n void 0 !== t4 && vt(t4);\n }(t3), null), (e4) => (function(e5, t4) {\n e5._inFlightCloseRequest._reject(t4), e5._inFlightCloseRequest = void 0, void 0 !== e5._pendingAbortRequest && (e5._pendingAbortRequest._reject(t4), e5._pendingAbortRequest = void 0), Ze(e5, t4);\n }(t3, e4), null));\n }(e2) : function(e3, t3) {\n const r3 = e3._controlledWritableStream;\n !function(e4) {\n e4._inFlightWriteRequest = e4._writeRequests.shift();\n }(r3);\n b(e3._writeAlgorithm(t3), () => {\n !function(e4) {\n e4._inFlightWriteRequest._resolve(void 0), e4._inFlightWriteRequest = void 0;\n }(r3);\n const t4 = r3._state;\n if (se(e3), !rt(r3) && "writable" === t4) {\n const t5 = bt(e3);\n nt(r3, t5);\n }\n return dt(e3), null;\n }, (t4) => ("writable" === r3._state && ut(e3), function(e4, t5) {\n e4._inFlightWriteRequest._reject(t5), e4._inFlightWriteRequest = void 0, Ze(e4, t5);\n }(r3, t4), null));\n }(e2, r2);\n}\n__name(dt, "dt");\nfunction ft(e2, t2) {\n "writable" === e2._controlledWritableStream._state && ht(e2, t2);\n}\n__name(ft, "ft");\nfunction bt(e2) {\n return ct(e2) <= 0;\n}\n__name(bt, "bt");\nfunction ht(e2, t2) {\n const r2 = e2._controlledWritableStream;\n ut(e2), et(r2, t2);\n}\n__name(ht, "ht");\nfunction _t(e2) {\n return new TypeError(`WritableStream.prototype.${e2} can only be used on a WritableStream`);\n}\n__name(_t, "_t");\nfunction pt(e2) {\n return new TypeError(`WritableStreamDefaultController.prototype.${e2} can only be used on a WritableStreamDefaultController`);\n}\n__name(pt, "pt");\nfunction mt(e2) {\n return new TypeError(`WritableStreamDefaultWriter.prototype.${e2} can only be used on a WritableStreamDefaultWriter`);\n}\n__name(mt, "mt");\nfunction yt(e2) {\n return new TypeError("Cannot " + e2 + " a stream using a released writer");\n}\n__name(yt, "yt");\nfunction gt(e2) {\n e2._closedPromise = u((t2, r2) => {\n e2._closedPromise_resolve = t2, e2._closedPromise_reject = r2, e2._closedPromiseState = "pending";\n });\n}\n__name(gt, "gt");\nfunction wt(e2, t2) {\n gt(e2), St(e2, t2);\n}\n__name(wt, "wt");\nfunction St(e2, t2) {\n void 0 !== e2._closedPromise_reject && (m(e2._closedPromise), e2._closedPromise_reject(t2), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0, e2._closedPromiseState = "rejected");\n}\n__name(St, "St");\nfunction vt(e2) {\n void 0 !== e2._closedPromise_resolve && (e2._closedPromise_resolve(void 0), e2._closedPromise_resolve = void 0, e2._closedPromise_reject = void 0, e2._closedPromiseState = "resolved");\n}\n__name(vt, "vt");\nfunction Rt(e2) {\n e2._readyPromise = u((t2, r2) => {\n e2._readyPromise_resolve = t2, e2._readyPromise_reject = r2;\n }), e2._readyPromiseState = "pending";\n}\n__name(Rt, "Rt");\nfunction Tt(e2, t2) {\n Rt(e2), Ct(e2, t2);\n}\n__name(Tt, "Tt");\nfunction qt(e2) {\n Rt(e2), Et(e2);\n}\n__name(qt, "qt");\nfunction Ct(e2, t2) {\n void 0 !== e2._readyPromise_reject && (m(e2._readyPromise), e2._readyPromise_reject(t2), e2._readyPromise_resolve = void 0, e2._readyPromise_reject = void 0, e2._readyPromiseState = "rejected");\n}\n__name(Ct, "Ct");\nfunction Et(e2) {\n void 0 !== e2._readyPromise_resolve && (e2._readyPromise_resolve(void 0), e2._readyPromise_resolve = void 0, e2._readyPromise_reject = void 0, e2._readyPromiseState = "fulfilled");\n}\n__name(Et, "Et");\nObject.defineProperties(WritableStreamDefaultController.prototype, { abortReason: { enumerable: true }, signal: { enumerable: true }, error: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(WritableStreamDefaultController.prototype, e.toStringTag, { value: "WritableStreamDefaultController", configurable: true });\nvar Pt = "undefined" != typeof DOMException ? DOMException : void 0;\nvar Wt = function(e2) {\n if ("function" != typeof e2 && "object" != typeof e2)\n return false;\n try {\n return new e2(), true;\n } catch (e3) {\n return false;\n }\n}(Pt) ? Pt : function() {\n const e2 = /* @__PURE__ */ __name(function(e3, t2) {\n this.message = e3 || "", this.name = t2 || "Error", Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);\n }, "e");\n return e2.prototype = Object.create(Error.prototype), Object.defineProperty(e2.prototype, "constructor", { value: e2, writable: true, configurable: true }), e2;\n}();\nfunction kt(e2, t2, r2, o2, n2, a2) {\n const i2 = e2.getReader(), l2 = t2.getWriter();\n Vt(e2) && (e2._disturbed = true);\n let s2, _2, g2, w2 = false, S2 = false, v2 = "readable", R2 = "writable", T2 = false, q2 = false;\n const C2 = u((e3) => {\n g2 = e3;\n });\n let E2 = Promise.resolve(void 0);\n return u((P2, W2) => {\n let k2;\n function O2() {\n if (w2)\n return;\n const e3 = u((e4, t3) => {\n !(/* @__PURE__ */ __name(function r3(o3) {\n o3 ? e4() : f(function() {\n if (w2)\n return c(true);\n return f(l2.ready, () => f(i2.read(), (e5) => !!e5.done || (E2 = l2.write(e5.value), m(E2), false)));\n }(), r3, t3);\n }, "r"))(false);\n });\n m(e3);\n }\n __name(O2, "O");\n function B2() {\n return v2 = "closed", r2 ? L2() : z2(() => (Ge(t2) && (T2 = rt(t2), R2 = t2._state), T2 || "closed" === R2 ? c(void 0) : "erroring" === R2 || "errored" === R2 ? d(_2) : (T2 = true, l2.close())), false, void 0), null;\n }\n __name(B2, "B");\n function A2(e3) {\n return w2 || (v2 = "errored", s2 = e3, o2 ? L2(true, e3) : z2(() => l2.abort(e3), true, e3)), null;\n }\n __name(A2, "A");\n function j2(e3) {\n return S2 || (R2 = "errored", _2 = e3, n2 ? L2(true, e3) : z2(() => i2.cancel(e3), true, e3)), null;\n }\n __name(j2, "j");\n if (void 0 !== a2 && (k2 = /* @__PURE__ */ __name(() => {\n const e3 = void 0 !== a2.reason ? a2.reason : new Wt("Aborted", "AbortError"), t3 = [];\n o2 || t3.push(() => "writable" === R2 ? l2.abort(e3) : c(void 0)), n2 || t3.push(() => "readable" === v2 ? i2.cancel(e3) : c(void 0)), z2(() => Promise.all(t3.map((e4) => e4())), true, e3);\n }, "k"), a2.aborted ? k2() : a2.addEventListener("abort", k2)), Vt(e2) && (v2 = e2._state, s2 = e2._storedError), Ge(t2) && (R2 = t2._state, _2 = t2._storedError, T2 = rt(t2)), Vt(e2) && Ge(t2) && (q2 = true, g2()), "errored" === v2)\n A2(s2);\n else if ("erroring" === R2 || "errored" === R2)\n j2(_2);\n else if ("closed" === v2)\n B2();\n else if (T2 || "closed" === R2) {\n const e3 = new TypeError("the destination writable stream closed before all data could be piped to it");\n n2 ? L2(true, e3) : z2(() => i2.cancel(e3), true, e3);\n }\n function z2(e3, t3, r3) {\n function o3() {\n return "writable" !== R2 || T2 ? n3() : h(function() {\n let e4;\n return c((/* @__PURE__ */ __name(function t4() {\n if (e4 !== E2)\n return e4 = E2, p(E2, t4, t4);\n }, "t"))());\n }(), n3), null;\n }\n __name(o3, "o");\n function n3() {\n return e3 ? b(e3(), () => F2(t3, r3), (e4) => F2(true, e4)) : F2(t3, r3), null;\n }\n __name(n3, "n");\n w2 || (w2 = true, q2 ? o3() : h(C2, o3));\n }\n __name(z2, "z");\n function L2(e3, t3) {\n z2(void 0, e3, t3);\n }\n __name(L2, "L");\n function F2(e3, t3) {\n return S2 = true, l2.releaseLock(), i2.releaseLock(), void 0 !== a2 && a2.removeEventListener("abort", k2), e3 ? W2(t3) : P2(void 0), null;\n }\n __name(F2, "F");\n w2 || (b(i2.closed, B2, A2), b(l2.closed, function() {\n return S2 || (R2 = "closed"), null;\n }, j2)), q2 ? O2() : y(() => {\n q2 = true, g2(), O2();\n });\n });\n}\n__name(kt, "kt");\nfunction Ot(e2, t2) {\n return function(e3) {\n try {\n return e3.getReader({ mode: "byob" }).releaseLock(), true;\n } catch (e4) {\n return false;\n }\n }(e2) ? function(e3) {\n let t3, r2, o2, n2, a2, i2 = e3.getReader(), l2 = false, s2 = false, d2 = false, f2 = false, h2 = false, p2 = false;\n const m2 = u((e4) => {\n a2 = e4;\n });\n function y2(e4) {\n _(e4.closed, (t4) => (e4 !== i2 || (o2.error(t4), n2.error(t4), h2 && p2 || a2(void 0)), null));\n }\n __name(y2, "y");\n function g2() {\n l2 && (i2.releaseLock(), i2 = e3.getReader(), y2(i2), l2 = false), b(i2.read(), (e4) => {\n var t4, r3;\n if (d2 = false, f2 = false, e4.done)\n return h2 || o2.close(), p2 || n2.close(), null === (t4 = o2.byobRequest) || void 0 === t4 || t4.respond(0), null === (r3 = n2.byobRequest) || void 0 === r3 || r3.respond(0), h2 && p2 || a2(void 0), null;\n const l3 = e4.value, u2 = l3;\n let c2 = l3;\n if (!h2 && !p2)\n try {\n c2 = le(l3);\n } catch (e5) {\n return o2.error(e5), n2.error(e5), a2(i2.cancel(e5)), null;\n }\n return h2 || o2.enqueue(u2), p2 || n2.enqueue(c2), s2 = false, d2 ? S2() : f2 && v2(), null;\n }, () => (s2 = false, null));\n }\n __name(g2, "g");\n function w2(t4, r3) {\n l2 || (i2.releaseLock(), i2 = e3.getReader({ mode: "byob" }), y2(i2), l2 = true);\n const u2 = r3 ? n2 : o2, c2 = r3 ? o2 : n2;\n b(i2.read(t4), (e4) => {\n var t5;\n d2 = false, f2 = false;\n const o3 = r3 ? p2 : h2, n3 = r3 ? h2 : p2;\n if (e4.done) {\n o3 || u2.close(), n3 || c2.close();\n const r4 = e4.value;\n return void 0 !== r4 && (o3 || u2.byobRequest.respondWithNewView(r4), n3 || null === (t5 = c2.byobRequest) || void 0 === t5 || t5.respond(0)), o3 && n3 || a2(void 0), null;\n }\n const l3 = e4.value;\n if (n3)\n o3 || u2.byobRequest.respondWithNewView(l3);\n else {\n let e5;\n try {\n e5 = le(l3);\n } catch (e6) {\n return u2.error(e6), c2.error(e6), a2(i2.cancel(e6)), null;\n }\n o3 || u2.byobRequest.respondWithNewView(l3), c2.enqueue(e5);\n }\n return s2 = false, d2 ? S2() : f2 && v2(), null;\n }, () => (s2 = false, null));\n }\n __name(w2, "w");\n function S2() {\n if (s2)\n return d2 = true, c(void 0);\n s2 = true;\n const e4 = o2.byobRequest;\n return null === e4 ? g2() : w2(e4.view, false), c(void 0);\n }\n __name(S2, "S");\n function v2() {\n if (s2)\n return f2 = true, c(void 0);\n s2 = true;\n const e4 = n2.byobRequest;\n return null === e4 ? g2() : w2(e4.view, true), c(void 0);\n }\n __name(v2, "v");\n function R2(e4) {\n if (h2 = true, t3 = e4, p2) {\n const e5 = [t3, r2], o3 = i2.cancel(e5);\n a2(o3);\n }\n return m2;\n }\n __name(R2, "R");\n function T2(e4) {\n if (p2 = true, r2 = e4, h2) {\n const e5 = [t3, r2], o3 = i2.cancel(e5);\n a2(o3);\n }\n return m2;\n }\n __name(T2, "T");\n const q2 = new ReadableStream({ type: "bytes", start(e4) {\n o2 = e4;\n }, pull: S2, cancel: R2 }), C2 = new ReadableStream({ type: "bytes", start(e4) {\n n2 = e4;\n }, pull: v2, cancel: T2 });\n return y2(i2), [q2, C2];\n }(e2) : function(e3, t3) {\n const r2 = e3.getReader();\n let o2, n2, a2, i2, l2, s2 = false, d2 = false, f2 = false, h2 = false;\n const p2 = u((e4) => {\n l2 = e4;\n });\n function m2() {\n return s2 ? (d2 = true, c(void 0)) : (s2 = true, b(r2.read(), (e4) => {\n if (d2 = false, e4.done)\n return f2 || a2.close(), h2 || i2.close(), f2 && h2 || l2(void 0), null;\n const t4 = e4.value, r3 = t4, o3 = t4;\n return f2 || a2.enqueue(r3), h2 || i2.enqueue(o3), s2 = false, d2 && m2(), null;\n }, () => (s2 = false, null)), c(void 0));\n }\n __name(m2, "m");\n function y2(e4) {\n if (f2 = true, o2 = e4, h2) {\n const e5 = [o2, n2], t4 = r2.cancel(e5);\n l2(t4);\n }\n return p2;\n }\n __name(y2, "y");\n function g2(e4) {\n if (h2 = true, n2 = e4, f2) {\n const e5 = [o2, n2], t4 = r2.cancel(e5);\n l2(t4);\n }\n return p2;\n }\n __name(g2, "g");\n const w2 = new ReadableStream({ start(e4) {\n a2 = e4;\n }, pull: m2, cancel: y2 }), S2 = new ReadableStream({ start(e4) {\n i2 = e4;\n }, pull: m2, cancel: g2 });\n return _(r2.closed, (e4) => (a2.error(e4), i2.error(e4), f2 && h2 || l2(void 0), null)), [w2, S2];\n }(e2);\n}\n__name(Ot, "Ot");\nvar ReadableStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get desiredSize() {\n if (!Bt(this))\n throw Dt("desiredSize");\n return Lt(this);\n }\n close() {\n if (!Bt(this))\n throw Dt("close");\n if (!Ft(this))\n throw new TypeError("The stream is not in a state that permits close");\n !function(e2) {\n if (!Ft(e2))\n return;\n const t2 = e2._controlledReadableStream;\n e2._closeRequested = true, 0 === e2._queue.length && (jt(e2), Xt(t2));\n }(this);\n }\n enqueue(e2) {\n if (!Bt(this))\n throw Dt("enqueue");\n if (!Ft(this))\n throw new TypeError("The stream is not in a state that permits enqueue");\n return function(e3, t2) {\n if (!Ft(e3))\n return;\n const r2 = e3._controlledReadableStream;\n if (Ut(r2) && X(r2) > 0)\n G(r2, t2, false);\n else {\n let r3;\n try {\n r3 = e3._strategySizeAlgorithm(t2);\n } catch (t3) {\n throw zt(e3, t3), t3;\n }\n try {\n ue(e3, t2, r3);\n } catch (t3) {\n throw zt(e3, t3), t3;\n }\n }\n At(e3);\n }(this, e2);\n }\n error(e2) {\n if (!Bt(this))\n throw Dt("error");\n zt(this, e2);\n }\n [T](e2) {\n ce(this);\n const t2 = this._cancelAlgorithm(e2);\n return jt(this), t2;\n }\n [q](e2) {\n const t2 = this._controlledReadableStream;\n if (this._queue.length > 0) {\n const r2 = se(this);\n this._closeRequested && 0 === this._queue.length ? (jt(this), Xt(t2)) : At(this), e2._chunkSteps(r2);\n } else\n U(t2, e2), At(this);\n }\n [C]() {\n }\n};\n__name(ReadableStreamDefaultController, "ReadableStreamDefaultController");\nfunction Bt(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledReadableStream") && e2 instanceof ReadableStreamDefaultController);\n}\n__name(Bt, "Bt");\nfunction At(e2) {\n const t2 = function(e3) {\n const t3 = e3._controlledReadableStream;\n if (!Ft(e3))\n return false;\n if (!e3._started)\n return false;\n if (Ut(t3) && X(t3) > 0)\n return true;\n if (Lt(e3) > 0)\n return true;\n return false;\n }(e2);\n if (!t2)\n return;\n if (e2._pulling)\n return void (e2._pullAgain = true);\n e2._pulling = true;\n b(e2._pullAlgorithm(), () => (e2._pulling = false, e2._pullAgain && (e2._pullAgain = false, At(e2)), null), (t3) => (zt(e2, t3), null));\n}\n__name(At, "At");\nfunction jt(e2) {\n e2._pullAlgorithm = void 0, e2._cancelAlgorithm = void 0, e2._strategySizeAlgorithm = void 0;\n}\n__name(jt, "jt");\nfunction zt(e2, t2) {\n const r2 = e2._controlledReadableStream;\n "readable" === r2._state && (ce(e2), jt(e2), Jt(r2, t2));\n}\n__name(zt, "zt");\nfunction Lt(e2) {\n const t2 = e2._controlledReadableStream._state;\n return "errored" === t2 ? null : "closed" === t2 ? 0 : e2._strategyHWM - e2._queueTotalSize;\n}\n__name(Lt, "Lt");\nfunction Ft(e2) {\n return !e2._closeRequested && "readable" === e2._controlledReadableStream._state;\n}\n__name(Ft, "Ft");\nfunction It(e2, t2, r2, o2) {\n const n2 = Object.create(ReadableStreamDefaultController.prototype);\n let a2, i2, l2;\n a2 = void 0 !== t2.start ? () => t2.start(n2) : () => {\n }, i2 = void 0 !== t2.pull ? () => t2.pull(n2) : () => c(void 0), l2 = void 0 !== t2.cancel ? (e3) => t2.cancel(e3) : () => c(void 0), function(e3, t3, r3, o3, n3, a3, i3) {\n t3._controlledReadableStream = e3, t3._queue = void 0, t3._queueTotalSize = void 0, ce(t3), t3._started = false, t3._closeRequested = false, t3._pullAgain = false, t3._pulling = false, t3._strategySizeAlgorithm = i3, t3._strategyHWM = a3, t3._pullAlgorithm = o3, t3._cancelAlgorithm = n3, e3._readableStreamController = t3, b(c(r3()), () => (t3._started = true, At(t3), null), (e4) => (zt(t3, e4), null));\n }(e2, n2, a2, i2, l2, r2, o2);\n}\n__name(It, "It");\nfunction Dt(e2) {\n return new TypeError(`ReadableStreamDefaultController.prototype.${e2} can only be used on a ReadableStreamDefaultController`);\n}\n__name(Dt, "Dt");\nfunction $t(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name($t, "$t");\nfunction Mt(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(Mt, "Mt");\nfunction Yt(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(Yt, "Yt");\nfunction Qt(e2, t2) {\n if ("bytes" !== (e2 = `${e2}`))\n throw new TypeError(`${t2} \'${e2}\' is not a valid enumeration value for ReadableStreamType`);\n return e2;\n}\n__name(Qt, "Qt");\nfunction Nt(e2, t2) {\n if ("byob" !== (e2 = `${e2}`))\n throw new TypeError(`${t2} \'${e2}\' is not a valid enumeration value for ReadableStreamReaderMode`);\n return e2;\n}\n__name(Nt, "Nt");\nfunction Ht(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.preventAbort, o2 = null == e2 ? void 0 : e2.preventCancel, n2 = null == e2 ? void 0 : e2.preventClose, a2 = null == e2 ? void 0 : e2.signal;\n return void 0 !== a2 && function(e3, t3) {\n if (!function(e4) {\n if ("object" != typeof e4 || null === e4)\n return false;\n try {\n return "boolean" == typeof e4.aborted;\n } catch (e5) {\n return false;\n }\n }(e3))\n throw new TypeError(`${t3} is not an AbortSignal.`);\n }(a2, `${t2} has member \'signal\' that`), { preventAbort: Boolean(r2), preventCancel: Boolean(o2), preventClose: Boolean(n2), signal: a2 };\n}\n__name(Ht, "Ht");\nfunction xt(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.readable;\n M(r2, "readable", "ReadableWritablePair"), function(e3, t3) {\n if (!H(e3))\n throw new TypeError(`${t3} is not a ReadableStream.`);\n }(r2, `${t2} has member \'readable\' that`);\n const o2 = null == e2 ? void 0 : e2.writable;\n return M(o2, "writable", "ReadableWritablePair"), function(e3, t3) {\n if (!x(e3))\n throw new TypeError(`${t3} is not a WritableStream.`);\n }(o2, `${t2} has member \'writable\' that`), { readable: r2, writable: o2 };\n}\n__name(xt, "xt");\nObject.defineProperties(ReadableStreamDefaultController.prototype, { close: { enumerable: true }, enqueue: { enumerable: true }, error: { enumerable: true }, desiredSize: { enumerable: true } }), n(ReadableStreamDefaultController.prototype.close, "close"), n(ReadableStreamDefaultController.prototype.enqueue, "enqueue"), n(ReadableStreamDefaultController.prototype.error, "error"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStreamDefaultController.prototype, e.toStringTag, { value: "ReadableStreamDefaultController", configurable: true });\nvar ReadableStream = class {\n constructor(e2 = {}, t2 = {}) {\n void 0 === e2 ? e2 = null : D(e2, "First parameter");\n const r2 = Ye(t2, "Second parameter"), o2 = function(e3, t3) {\n F(e3, t3);\n const r3 = e3, o3 = null == r3 ? void 0 : r3.autoAllocateChunkSize, n3 = null == r3 ? void 0 : r3.cancel, a2 = null == r3 ? void 0 : r3.pull, i2 = null == r3 ? void 0 : r3.start, l2 = null == r3 ? void 0 : r3.type;\n return { autoAllocateChunkSize: void 0 === o3 ? void 0 : N(o3, `${t3} has member \'autoAllocateChunkSize\' that`), cancel: void 0 === n3 ? void 0 : $t(n3, r3, `${t3} has member \'cancel\' that`), pull: void 0 === a2 ? void 0 : Mt(a2, r3, `${t3} has member \'pull\' that`), start: void 0 === i2 ? void 0 : Yt(i2, r3, `${t3} has member \'start\' that`), type: void 0 === l2 ? void 0 : Qt(l2, `${t3} has member \'type\' that`) };\n }(e2, "First parameter");\n var n2;\n if ((n2 = this)._state = "readable", n2._reader = void 0, n2._storedError = void 0, n2._disturbed = false, "bytes" === o2.type) {\n if (void 0 !== r2.size)\n throw new RangeError("The strategy for a byte stream cannot have a size function");\n Oe(this, o2, $e(r2, 0));\n } else {\n const e3 = Me(r2);\n It(this, o2, $e(r2, 1), e3);\n }\n }\n get locked() {\n if (!Vt(this))\n throw Kt("locked");\n return Ut(this);\n }\n cancel(e2) {\n return Vt(this) ? Ut(this) ? d(new TypeError("Cannot cancel a stream that already has a reader")) : Gt(this, e2) : d(Kt("cancel"));\n }\n getReader(e2) {\n if (!Vt(this))\n throw Kt("getReader");\n return void 0 === function(e3, t2) {\n F(e3, t2);\n const r2 = null == e3 ? void 0 : e3.mode;\n return { mode: void 0 === r2 ? void 0 : Nt(r2, `${t2} has member \'mode\' that`) };\n }(e2, "First parameter").mode ? new ReadableStreamDefaultReader(this) : function(e3) {\n return new ReadableStreamBYOBReader(e3);\n }(this);\n }\n pipeThrough(e2, t2 = {}) {\n if (!H(this))\n throw Kt("pipeThrough");\n $(e2, 1, "pipeThrough");\n const r2 = xt(e2, "First parameter"), o2 = Ht(t2, "Second parameter");\n if (this.locked)\n throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");\n if (r2.writable.locked)\n throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");\n return m(kt(this, r2.writable, o2.preventClose, o2.preventAbort, o2.preventCancel, o2.signal)), r2.readable;\n }\n pipeTo(e2, t2 = {}) {\n if (!H(this))\n return d(Kt("pipeTo"));\n if (void 0 === e2)\n return d("Parameter 1 is required in \'pipeTo\'.");\n if (!x(e2))\n return d(new TypeError("ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream"));\n let r2;\n try {\n r2 = Ht(t2, "Second parameter");\n } catch (e3) {\n return d(e3);\n }\n return this.locked ? d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")) : e2.locked ? d(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")) : kt(this, e2, r2.preventClose, r2.preventAbort, r2.preventCancel, r2.signal);\n }\n tee() {\n if (!H(this))\n throw Kt("tee");\n if (this.locked)\n throw new TypeError("Cannot tee a stream that already has a reader");\n return Ot(this);\n }\n values(e2) {\n if (!H(this))\n throw Kt("values");\n return function(e3, t2) {\n const r2 = e3.getReader(), o2 = new te(r2, t2), n2 = Object.create(re);\n return n2._asyncIteratorImpl = o2, n2;\n }(this, function(e3, t2) {\n F(e3, t2);\n const r2 = null == e3 ? void 0 : e3.preventCancel;\n return { preventCancel: Boolean(r2) };\n }(e2, "First parameter").preventCancel);\n }\n};\n__name(ReadableStream, "ReadableStream");\nfunction Vt(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_readableStreamController") && e2 instanceof ReadableStream);\n}\n__name(Vt, "Vt");\nfunction Ut(e2) {\n return void 0 !== e2._reader;\n}\n__name(Ut, "Ut");\nfunction Gt(e2, r2) {\n if (e2._disturbed = true, "closed" === e2._state)\n return c(void 0);\n if ("errored" === e2._state)\n return d(e2._storedError);\n Xt(e2);\n const o2 = e2._reader;\n if (void 0 !== o2 && Fe(o2)) {\n const e3 = o2._readIntoRequests;\n o2._readIntoRequests = new S(), e3.forEach((e4) => {\n e4._closeSteps(void 0);\n });\n }\n return p(e2._readableStreamController[T](r2), t);\n}\n__name(Gt, "Gt");\nfunction Xt(e2) {\n e2._state = "closed";\n const t2 = e2._reader;\n if (void 0 !== t2 && (j(t2), K(t2))) {\n const e3 = t2._readRequests;\n t2._readRequests = new S(), e3.forEach((e4) => {\n e4._closeSteps();\n });\n }\n}\n__name(Xt, "Xt");\nfunction Jt(e2, t2) {\n e2._state = "errored", e2._storedError = t2;\n const r2 = e2._reader;\n void 0 !== r2 && (A(r2, t2), K(r2) ? Z(r2, t2) : Ie(r2, t2));\n}\n__name(Jt, "Jt");\nfunction Kt(e2) {\n return new TypeError(`ReadableStream.prototype.${e2} can only be used on a ReadableStream`);\n}\n__name(Kt, "Kt");\nfunction Zt(e2, t2) {\n F(e2, t2);\n const r2 = null == e2 ? void 0 : e2.highWaterMark;\n return M(r2, "highWaterMark", "QueuingStrategyInit"), { highWaterMark: Y(r2) };\n}\n__name(Zt, "Zt");\nObject.defineProperties(ReadableStream.prototype, { cancel: { enumerable: true }, getReader: { enumerable: true }, pipeThrough: { enumerable: true }, pipeTo: { enumerable: true }, tee: { enumerable: true }, values: { enumerable: true }, locked: { enumerable: true } }), n(ReadableStream.prototype.cancel, "cancel"), n(ReadableStream.prototype.getReader, "getReader"), n(ReadableStream.prototype.pipeThrough, "pipeThrough"), n(ReadableStream.prototype.pipeTo, "pipeTo"), n(ReadableStream.prototype.tee, "tee"), n(ReadableStream.prototype.values, "values"), "symbol" == typeof e.toStringTag && Object.defineProperty(ReadableStream.prototype, e.toStringTag, { value: "ReadableStream", configurable: true }), "symbol" == typeof e.asyncIterator && Object.defineProperty(ReadableStream.prototype, e.asyncIterator, { value: ReadableStream.prototype.values, writable: true, configurable: true });\nvar er = /* @__PURE__ */ __name((e2) => e2.byteLength, "er");\nn(er, "size");\nvar ByteLengthQueuingStrategy = class {\n constructor(e2) {\n $(e2, 1, "ByteLengthQueuingStrategy"), e2 = Zt(e2, "First parameter"), this._byteLengthQueuingStrategyHighWaterMark = e2.highWaterMark;\n }\n get highWaterMark() {\n if (!rr(this))\n throw tr("highWaterMark");\n return this._byteLengthQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!rr(this))\n throw tr("size");\n return er;\n }\n};\n__name(ByteLengthQueuingStrategy, "ByteLengthQueuingStrategy");\nfunction tr(e2) {\n return new TypeError(`ByteLengthQueuingStrategy.prototype.${e2} can only be used on a ByteLengthQueuingStrategy`);\n}\n__name(tr, "tr");\nfunction rr(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_byteLengthQueuingStrategyHighWaterMark") && e2 instanceof ByteLengthQueuingStrategy);\n}\n__name(rr, "rr");\nObject.defineProperties(ByteLengthQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(ByteLengthQueuingStrategy.prototype, e.toStringTag, { value: "ByteLengthQueuingStrategy", configurable: true });\nvar or = /* @__PURE__ */ __name(() => 1, "or");\nn(or, "size");\nvar CountQueuingStrategy = class {\n constructor(e2) {\n $(e2, 1, "CountQueuingStrategy"), e2 = Zt(e2, "First parameter"), this._countQueuingStrategyHighWaterMark = e2.highWaterMark;\n }\n get highWaterMark() {\n if (!ar(this))\n throw nr("highWaterMark");\n return this._countQueuingStrategyHighWaterMark;\n }\n get size() {\n if (!ar(this))\n throw nr("size");\n return or;\n }\n};\n__name(CountQueuingStrategy, "CountQueuingStrategy");\nfunction nr(e2) {\n return new TypeError(`CountQueuingStrategy.prototype.${e2} can only be used on a CountQueuingStrategy`);\n}\n__name(nr, "nr");\nfunction ar(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_countQueuingStrategyHighWaterMark") && e2 instanceof CountQueuingStrategy);\n}\n__name(ar, "ar");\nfunction ir(e2, t2, r2) {\n return I(e2, r2), (r3) => w(e2, t2, [r3]);\n}\n__name(ir, "ir");\nfunction lr(e2, t2, r2) {\n return I(e2, r2), (r3) => g(e2, t2, [r3]);\n}\n__name(lr, "lr");\nfunction sr(e2, t2, r2) {\n return I(e2, r2), (r3, o2) => w(e2, t2, [r3, o2]);\n}\n__name(sr, "sr");\nObject.defineProperties(CountQueuingStrategy.prototype, { highWaterMark: { enumerable: true }, size: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(CountQueuingStrategy.prototype, e.toStringTag, { value: "CountQueuingStrategy", configurable: true });\nvar TransformStream = class {\n constructor(e2 = {}, t2 = {}, r2 = {}) {\n void 0 === e2 && (e2 = null);\n const o2 = Ye(t2, "Second parameter"), n2 = Ye(r2, "Third parameter"), a2 = function(e3, t3) {\n F(e3, t3);\n const r3 = null == e3 ? void 0 : e3.flush, o3 = null == e3 ? void 0 : e3.readableType, n3 = null == e3 ? void 0 : e3.start, a3 = null == e3 ? void 0 : e3.transform, i3 = null == e3 ? void 0 : e3.writableType;\n return { flush: void 0 === r3 ? void 0 : ir(r3, e3, `${t3} has member \'flush\' that`), readableType: o3, start: void 0 === n3 ? void 0 : lr(n3, e3, `${t3} has member \'start\' that`), transform: void 0 === a3 ? void 0 : sr(a3, e3, `${t3} has member \'transform\' that`), writableType: i3 };\n }(e2, "First parameter");\n if (void 0 !== a2.readableType)\n throw new RangeError("Invalid readableType specified");\n if (void 0 !== a2.writableType)\n throw new RangeError("Invalid writableType specified");\n const i2 = $e(n2, 0), l2 = Me(n2), s2 = $e(o2, 1), f2 = Me(o2);\n let b2;\n !function(e3, t3, r3, o3, n3, a3) {\n function i3() {\n return t3;\n }\n __name(i3, "i");\n function l3(t4) {\n return function(e4, t5) {\n const r4 = e4._transformStreamController;\n if (e4._backpressure) {\n return p(e4._backpressureChangePromise, () => {\n if ("erroring" === (Ge(e4._writable) ? e4._writable._state : e4._writableState))\n throw Ge(e4._writable) ? e4._writable._storedError : e4._writableStoredError;\n return pr(r4, t5);\n });\n }\n return pr(r4, t5);\n }(e3, t4);\n }\n __name(l3, "l");\n function s3(t4) {\n return function(e4, t5) {\n return cr(e4, t5), c(void 0);\n }(e3, t4);\n }\n __name(s3, "s");\n function u2() {\n return function(e4) {\n const t4 = e4._transformStreamController, r4 = t4._flushAlgorithm();\n return hr(t4), p(r4, () => {\n if ("errored" === e4._readableState)\n throw e4._readableStoredError;\n gr(e4) && wr(e4);\n }, (t5) => {\n throw cr(e4, t5), e4._readableStoredError;\n });\n }(e3);\n }\n __name(u2, "u");\n function d2() {\n return function(e4) {\n return fr(e4, false), e4._backpressureChangePromise;\n }(e3);\n }\n __name(d2, "d");\n function f3(t4) {\n return dr(e3, t4), c(void 0);\n }\n __name(f3, "f");\n e3._writableState = "writable", e3._writableStoredError = void 0, e3._writableHasInFlightOperation = false, e3._writableStarted = false, e3._writable = function(e4, t4, r4, o4, n4, a4, i4) {\n return new WritableStream({ start(r5) {\n e4._writableController = r5;\n try {\n const t5 = r5.signal;\n void 0 !== t5 && t5.addEventListener("abort", () => {\n "writable" === e4._writableState && (e4._writableState = "erroring", t5.reason && (e4._writableStoredError = t5.reason));\n });\n } catch (e5) {\n }\n return p(t4(), () => (e4._writableStarted = true, Cr(e4), null), (t5) => {\n throw e4._writableStarted = true, Rr(e4, t5), t5;\n });\n }, write: (t5) => (function(e5) {\n e5._writableHasInFlightOperation = true;\n }(e4), p(r4(t5), () => (function(e5) {\n e5._writableHasInFlightOperation = false;\n }(e4), Cr(e4), null), (t6) => {\n throw function(e5, t7) {\n e5._writableHasInFlightOperation = false, Rr(e5, t7);\n }(e4, t6), t6;\n })), close: () => (function(e5) {\n e5._writableHasInFlightOperation = true;\n }(e4), p(o4(), () => (function(e5) {\n e5._writableHasInFlightOperation = false;\n "erroring" === e5._writableState && (e5._writableStoredError = void 0);\n e5._writableState = "closed";\n }(e4), null), (t5) => {\n throw function(e5, t6) {\n e5._writableHasInFlightOperation = false, e5._writableState, Rr(e5, t6);\n }(e4, t5), t5;\n })), abort: (t5) => (e4._writableState = "errored", e4._writableStoredError = t5, n4(t5)) }, { highWaterMark: a4, size: i4 });\n }(e3, i3, l3, u2, s3, r3, o3), e3._readableState = "readable", e3._readableStoredError = void 0, e3._readableCloseRequested = false, e3._readablePulling = false, e3._readable = function(e4, t4, r4, o4, n4, a4) {\n return new ReadableStream({ start: (r5) => (e4._readableController = r5, t4().catch((t5) => {\n Sr(e4, t5);\n })), pull: () => (e4._readablePulling = true, r4().catch((t5) => {\n Sr(e4, t5);\n })), cancel: (t5) => (e4._readableState = "closed", o4(t5)) }, { highWaterMark: n4, size: a4 });\n }(e3, i3, d2, f3, n3, a3), e3._backpressure = void 0, e3._backpressureChangePromise = void 0, e3._backpressureChangePromise_resolve = void 0, fr(e3, true), e3._transformStreamController = void 0;\n }(this, u((e3) => {\n b2 = e3;\n }), s2, f2, i2, l2), function(e3, t3) {\n const r3 = Object.create(TransformStreamDefaultController.prototype);\n let o3, n3;\n o3 = void 0 !== t3.transform ? (e4) => t3.transform(e4, r3) : (e4) => {\n try {\n return _r(r3, e4), c(void 0);\n } catch (e5) {\n return d(e5);\n }\n };\n n3 = void 0 !== t3.flush ? () => t3.flush(r3) : () => c(void 0);\n !function(e4, t4, r4, o4) {\n t4._controlledTransformStream = e4, e4._transformStreamController = t4, t4._transformAlgorithm = r4, t4._flushAlgorithm = o4;\n }(e3, r3, o3, n3);\n }(this, a2), void 0 !== a2.start ? b2(a2.start(this._transformStreamController)) : b2(void 0);\n }\n get readable() {\n if (!ur(this))\n throw yr("readable");\n return this._readable;\n }\n get writable() {\n if (!ur(this))\n throw yr("writable");\n return this._writable;\n }\n};\n__name(TransformStream, "TransformStream");\nfunction ur(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_transformStreamController") && e2 instanceof TransformStream);\n}\n__name(ur, "ur");\nfunction cr(e2, t2) {\n Sr(e2, t2), dr(e2, t2);\n}\n__name(cr, "cr");\nfunction dr(e2, t2) {\n hr(e2._transformStreamController), function(e3, t3) {\n e3._writableController.error(t3);\n "writable" === e3._writableState && Tr(e3, t3);\n }(e2, t2), e2._backpressure && fr(e2, false);\n}\n__name(dr, "dr");\nfunction fr(e2, t2) {\n void 0 !== e2._backpressureChangePromise && e2._backpressureChangePromise_resolve(), e2._backpressureChangePromise = u((t3) => {\n e2._backpressureChangePromise_resolve = t3;\n }), e2._backpressure = t2;\n}\n__name(fr, "fr");\nObject.defineProperties(TransformStream.prototype, { readable: { enumerable: true }, writable: { enumerable: true } }), "symbol" == typeof e.toStringTag && Object.defineProperty(TransformStream.prototype, e.toStringTag, { value: "TransformStream", configurable: true });\nvar TransformStreamDefaultController = class {\n constructor() {\n throw new TypeError("Illegal constructor");\n }\n get desiredSize() {\n if (!br(this))\n throw mr("desiredSize");\n return vr(this._controlledTransformStream);\n }\n enqueue(e2) {\n if (!br(this))\n throw mr("enqueue");\n _r(this, e2);\n }\n error(e2) {\n if (!br(this))\n throw mr("error");\n var t2;\n t2 = e2, cr(this._controlledTransformStream, t2);\n }\n terminate() {\n if (!br(this))\n throw mr("terminate");\n !function(e2) {\n const t2 = e2._controlledTransformStream;\n gr(t2) && wr(t2);\n const r2 = new TypeError("TransformStream terminated");\n dr(t2, r2);\n }(this);\n }\n};\n__name(TransformStreamDefaultController, "TransformStreamDefaultController");\nfunction br(e2) {\n return !!r(e2) && (!!Object.prototype.hasOwnProperty.call(e2, "_controlledTransformStream") && e2 instanceof TransformStreamDefaultController);\n}\n__name(br, "br");\nfunction hr(e2) {\n e2._transformAlgorithm = void 0, e2._flushAlgorithm = void 0;\n}\n__name(hr, "hr");\nfunction _r(e2, t2) {\n const r2 = e2._controlledTransformStream;\n if (!gr(r2))\n throw new TypeError("Readable side is not in a state that permits enqueue");\n try {\n !function(e3, t3) {\n e3._readablePulling = false;\n try {\n e3._readableController.enqueue(t3);\n } catch (t4) {\n throw Sr(e3, t4), t4;\n }\n }(r2, t2);\n } catch (e3) {\n throw dr(r2, e3), r2._readableStoredError;\n }\n const o2 = function(e3) {\n return !function(e4) {\n if (!gr(e4))\n return false;\n if (e4._readablePulling)\n return true;\n if (vr(e4) > 0)\n return true;\n return false;\n }(e3);\n }(r2);\n o2 !== r2._backpressure && fr(r2, true);\n}\n__name(_r, "_r");\nfunction pr(e2, t2) {\n return p(e2._transformAlgorithm(t2), void 0, (t3) => {\n throw cr(e2._controlledTransformStream, t3), t3;\n });\n}\n__name(pr, "pr");\nfunction mr(e2) {\n return new TypeError(`TransformStreamDefaultController.prototype.${e2} can only be used on a TransformStreamDefaultController`);\n}\n__name(mr, "mr");\nfunction yr(e2) {\n return new TypeError(`TransformStream.prototype.${e2} can only be used on a TransformStream`);\n}\n__name(yr, "yr");\nfunction gr(e2) {\n return !e2._readableCloseRequested && "readable" === e2._readableState;\n}\n__name(gr, "gr");\nfunction wr(e2) {\n e2._readableState = "closed", e2._readableCloseRequested = true, e2._readableController.close();\n}\n__name(wr, "wr");\nfunction Sr(e2, t2) {\n "readable" === e2._readableState && (e2._readableState = "errored", e2._readableStoredError = t2), e2._readableController.error(t2);\n}\n__name(Sr, "Sr");\nfunction vr(e2) {\n return e2._readableController.desiredSize;\n}\n__name(vr, "vr");\nfunction Rr(e2, t2) {\n "writable" !== e2._writableState ? qr(e2) : Tr(e2, t2);\n}\n__name(Rr, "Rr");\nfunction Tr(e2, t2) {\n e2._writableState = "erroring", e2._writableStoredError = t2, !function(e3) {\n return e3._writableHasInFlightOperation;\n }(e2) && e2._writableStarted && qr(e2);\n}\n__name(Tr, "Tr");\nfunction qr(e2) {\n e2._writableState = "errored";\n}\n__name(qr, "qr");\nfunction Cr(e2) {\n "erroring" === e2._writableState && qr(e2);\n}\n__name(Cr, "Cr");\nObject.defineProperties(TransformStreamDefaultController.prototype, { enqueue: { enumerable: true }, error: { enumerable: true }, terminate: { enumerable: true }, desiredSize: { enumerable: true } }), n(TransformStreamDefaultController.prototype.enqueue, "enqueue"), n(TransformStreamDefaultController.prototype.error, "error"), n(TransformStreamDefaultController.prototype.terminate, "terminate"), "symbol" == typeof e.toStringTag && Object.defineProperty(TransformStreamDefaultController.prototype, e.toStringTag, { value: "TransformStreamDefaultController", configurable: true });\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n ReadableStream,\n ReadableStreamBYOBReader,\n ReadableStreamDefaultReader,\n TransformStream,\n WritableStream,\n WritableStreamDefaultWriter\n});\n'},986:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/structured-clone.js\nvar structured_clone_exports = {};\n__export(structured_clone_exports, {\n structuredClone: () => structuredClone2\n});\nmodule.exports = __toCommonJS(structured_clone_exports);\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/types.js\nvar VOID = -1;\nvar PRIMITIVE = 0;\nvar ARRAY = 1;\nvar OBJECT = 2;\nvar DATE = 3;\nvar REGEXP = 4;\nvar MAP = 5;\nvar SET = 6;\nvar ERROR = 7;\nvar BIGINT = 8;\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/deserialize.js\nvar env = typeof self === "object" ? self : globalThis;\nvar deserializer = /* @__PURE__ */ __name(($, _) => {\n const as = /* @__PURE__ */ __name((out, index) => {\n $.set(index, out);\n return out;\n }, "as");\n const unpair = /* @__PURE__ */ __name((index) => {\n if ($.has(index))\n return $.get(index);\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index2 of value)\n arr.push(unpair(index2));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index2] of value)\n object[unpair(key)] = unpair(index2);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const { source, flags } = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(/* @__PURE__ */ new Map(), index);\n for (const [key, index2] of value)\n map.set(unpair(key), unpair(index2));\n return map;\n }\n case SET: {\n const set = as(/* @__PURE__ */ new Set(), index);\n for (const index2 of value)\n set.add(unpair(index2));\n return set;\n }\n case ERROR: {\n const { name, message } = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case "BigInt":\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n }, "unpair");\n return unpair;\n}, "deserializer");\nvar deserialize = /* @__PURE__ */ __name((serialized) => deserializer(/* @__PURE__ */ new Map(), serialized)(0), "deserialize");\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/serialize.js\nvar EMPTY = "";\nvar { toString } = {};\nvar { keys } = Object;\nvar typeOf = /* @__PURE__ */ __name((value) => {\n const type = typeof value;\n if (type !== "object" || !value)\n return [PRIMITIVE, type];\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case "Array":\n return [ARRAY, EMPTY];\n case "Object":\n return [OBJECT, EMPTY];\n case "Date":\n return [DATE, EMPTY];\n case "RegExp":\n return [REGEXP, EMPTY];\n case "Map":\n return [MAP, EMPTY];\n case "Set":\n return [SET, EMPTY];\n }\n if (asString.includes("Array"))\n return [ARRAY, asString];\n if (asString.includes("Error"))\n return [ERROR, asString];\n return [OBJECT, asString];\n}, "typeOf");\nvar shouldSkip = /* @__PURE__ */ __name(([TYPE, type]) => TYPE === PRIMITIVE && (type === "function" || type === "symbol"), "shouldSkip");\nvar serializer = /* @__PURE__ */ __name((strict, json, $, _) => {\n const as = /* @__PURE__ */ __name((out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n }, "as");\n const pair = /* @__PURE__ */ __name((value) => {\n if ($.has(value))\n return $.get(value);\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case "bigint":\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case "function":\n case "symbol":\n if (strict)\n throw new TypeError("unable to serialize " + type);\n entry = null;\n break;\n case "undefined":\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case "BigInt":\n return as([type, value.toString()], value);\n case "Boolean":\n case "Number":\n case "String":\n return as([type, value.valueOf()], value);\n }\n }\n if (json && "toJSON" in value)\n return pair(value.toJSON());\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const { source, flags } = value;\n return as([TYPE, { source, flags }], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n const { message } = value;\n return as([TYPE, { name: type, message }], value);\n }, "pair");\n return pair;\n}, "serializer");\nvar serialize = /* @__PURE__ */ __name((value, { json, lossy } = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, /* @__PURE__ */ new Map(), _)(value), _;\n}, "serialize");\n\n// ../../node_modules/.pnpm/@ungap+structured-clone@1.2.0/node_modules/@ungap/structured-clone/esm/index.js\nvar esm_default = typeof structuredClone === "function" ? (\n /* c8 ignore start */\n (any, options) => options && ("json" in options || "lossy" in options) ? deserialize(serialize(any, options)) : structuredClone(any)\n) : (any, options) => deserialize(serialize(any, options));\n\n// src/primitives/structured-clone.js\nfunction structuredClone2(value, options) {\n if (value instanceof ReadableStream) {\n const transform = new TransformStream({});\n value.pipeTo(transform.writable);\n return transform.readable;\n }\n return esm_default(value, options);\n}\n__name(structuredClone2, "structuredClone");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n structuredClone\n});\n'},157:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/text-encoding-streams.js\nvar text_encoding_streams_exports = {};\n__export(text_encoding_streams_exports, {\n TextDecoderStream: () => TextDecoderStream,\n TextEncoderStream: () => TextEncoderStream\n});\nmodule.exports = __toCommonJS(text_encoding_streams_exports);\n\n// ../../node_modules/.pnpm/@stardazed+streams-text-encoding@1.0.2/node_modules/@stardazed/streams-text-encoding/dist/sd-streams-text-encoding.esm.js\nvar decDecoder = Symbol("decDecoder");\nvar decTransform = Symbol("decTransform");\nvar TextDecodeTransformer = class {\n constructor(decoder) {\n this.decoder_ = decoder;\n }\n transform(chunk, controller) {\n if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {\n throw new TypeError("Input data must be a BufferSource");\n }\n const text = this.decoder_.decode(chunk, { stream: true });\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n flush(controller) {\n const text = this.decoder_.decode();\n if (text.length !== 0) {\n controller.enqueue(text);\n }\n }\n};\n__name(TextDecodeTransformer, "TextDecodeTransformer");\nvar TextDecoderStream = class {\n constructor(label, options) {\n this[decDecoder] = new TextDecoder(label, options);\n this[decTransform] = new TransformStream(new TextDecodeTransformer(this[decDecoder]));\n }\n get encoding() {\n return this[decDecoder].encoding;\n }\n get fatal() {\n return this[decDecoder].fatal;\n }\n get ignoreBOM() {\n return this[decDecoder].ignoreBOM;\n }\n get readable() {\n return this[decTransform].readable;\n }\n get writable() {\n return this[decTransform].writable;\n }\n};\n__name(TextDecoderStream, "TextDecoderStream");\nvar encEncoder = Symbol("encEncoder");\nvar encTransform = Symbol("encTransform");\nvar TextEncodeTransformer = class {\n constructor(encoder) {\n this.encoder_ = encoder;\n this.partial_ = void 0;\n }\n transform(chunk, controller) {\n let stringChunk = String(chunk);\n if (this.partial_ !== void 0) {\n stringChunk = this.partial_ + stringChunk;\n this.partial_ = void 0;\n }\n const lastCharIndex = stringChunk.length - 1;\n const lastCodeUnit = stringChunk.charCodeAt(lastCharIndex);\n if (lastCodeUnit >= 55296 && lastCodeUnit < 56320) {\n this.partial_ = String.fromCharCode(lastCodeUnit);\n stringChunk = stringChunk.substring(0, lastCharIndex);\n }\n const bytes = this.encoder_.encode(stringChunk);\n if (bytes.length !== 0) {\n controller.enqueue(bytes);\n }\n }\n flush(controller) {\n if (this.partial_) {\n controller.enqueue(this.encoder_.encode(this.partial_));\n this.partial_ = void 0;\n }\n }\n};\n__name(TextEncodeTransformer, "TextEncodeTransformer");\nvar TextEncoderStream = class {\n constructor() {\n this[encEncoder] = new TextEncoder();\n this[encTransform] = new TransformStream(new TextEncodeTransformer(this[encEncoder]));\n }\n get encoding() {\n return this[encEncoder].encoding;\n }\n get readable() {\n return this[encTransform].readable;\n }\n get writable() {\n return this[encTransform].writable;\n }\n};\n__name(TextEncoderStream, "TextEncoderStream");\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n TextDecoderStream,\n TextEncoderStream\n});\n'},123:e=>{e.exports='"use strict";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __name = (target, value) => __defProp(target, "name", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === "object" || typeof from === "function") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);\n\n// src/primitives/url.js\nvar url_exports = {};\n__export(url_exports, {\n URLPattern: () => me\n});\nmodule.exports = __toCommonJS(url_exports);\n\n// ../../node_modules/.pnpm/urlpattern-polyfill@9.0.0/node_modules/urlpattern-polyfill/dist/urlpattern.js\nvar k = /* @__PURE__ */ __name(class {\n type = 3;\n name = "";\n prefix = "";\n value = "";\n suffix = "";\n modifier = 3;\n constructor(t, r, n, o, c, l) {\n this.type = t, this.name = r, this.prefix = n, this.value = o, this.suffix = c, this.modifier = l;\n }\n hasCustomName() {\n return this.name !== "" && typeof this.name != "number";\n }\n}, "k");\nvar Pe = /[$_\\p{ID_Start}]/u;\nvar Se = /[$_\\u200C\\u200D\\p{ID_Continue}]/u;\nvar M = ".*";\nfunction ke(e, t) {\n return (t ? /^[\\x00-\\xFF]*$/ : /^[\\x00-\\x7F]*$/).test(e);\n}\n__name(ke, "ke");\nfunction v(e, t = false) {\n let r = [], n = 0;\n for (; n < e.length; ) {\n let o = e[n], c = /* @__PURE__ */ __name(function(l) {\n if (!t)\n throw new TypeError(l);\n r.push({ type: "INVALID_CHAR", index: n, value: e[n++] });\n }, "c");\n if (o === "*") {\n r.push({ type: "ASTERISK", index: n, value: e[n++] });\n continue;\n }\n if (o === "+" || o === "?") {\n r.push({ type: "OTHER_MODIFIER", index: n, value: e[n++] });\n continue;\n }\n if (o === "\\\\") {\n r.push({ type: "ESCAPED_CHAR", index: n++, value: e[n++] });\n continue;\n }\n if (o === "{") {\n r.push({ type: "OPEN", index: n, value: e[n++] });\n continue;\n }\n if (o === "}") {\n r.push({ type: "CLOSE", index: n, value: e[n++] });\n continue;\n }\n if (o === ":") {\n let l = "", s = n + 1;\n for (; s < e.length; ) {\n let i = e.substr(s, 1);\n if (s === n + 1 && Pe.test(i) || s !== n + 1 && Se.test(i)) {\n l += e[s++];\n continue;\n }\n break;\n }\n if (!l) {\n c(`Missing parameter name at ${n}`);\n continue;\n }\n r.push({ type: "NAME", index: n, value: l }), n = s;\n continue;\n }\n if (o === "(") {\n let l = 1, s = "", i = n + 1, a = false;\n if (e[i] === "?") {\n c(`Pattern cannot start with "?" at ${i}`);\n continue;\n }\n for (; i < e.length; ) {\n if (!ke(e[i], false)) {\n c(`Invalid character \'${e[i]}\' at ${i}.`), a = true;\n break;\n }\n if (e[i] === "\\\\") {\n s += e[i++] + e[i++];\n continue;\n }\n if (e[i] === ")") {\n if (l--, l === 0) {\n i++;\n break;\n }\n } else if (e[i] === "(" && (l++, e[i + 1] !== "?")) {\n c(`Capturing groups are not allowed at ${i}`), a = true;\n break;\n }\n s += e[i++];\n }\n if (a)\n continue;\n if (l) {\n c(`Unbalanced pattern at ${n}`);\n continue;\n }\n if (!s) {\n c(`Missing pattern at ${n}`);\n continue;\n }\n r.push({ type: "REGEX", index: n, value: s }), n = i;\n continue;\n }\n r.push({ type: "CHAR", index: n, value: e[n++] });\n }\n return r.push({ type: "END", index: n, value: "" }), r;\n}\n__name(v, "v");\nfunction D(e, t = {}) {\n let r = v(e);\n t.delimiter ?? (t.delimiter = "/#?"), t.prefixes ?? (t.prefixes = "./");\n let n = `[^${x(t.delimiter)}]+?`, o = [], c = 0, l = 0, s = "", i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ __name((f) => {\n if (l < r.length && r[l].type === f)\n return r[l++].value;\n }, "a"), h = /* @__PURE__ */ __name(() => a("OTHER_MODIFIER") ?? a("ASTERISK"), "h"), p = /* @__PURE__ */ __name((f) => {\n let u = a(f);\n if (u !== void 0)\n return u;\n let { type: d, index: T } = r[l];\n throw new TypeError(`Unexpected ${d} at ${T}, expected ${f}`);\n }, "p"), O = /* @__PURE__ */ __name(() => {\n let f = "", u;\n for (; u = a("CHAR") ?? a("ESCAPED_CHAR"); )\n f += u;\n return f;\n }, "O"), xe = /* @__PURE__ */ __name((f) => f, "xe"), L = t.encodePart || xe, I = "", H = /* @__PURE__ */ __name((f) => {\n I += f;\n }, "H"), $ = /* @__PURE__ */ __name(() => {\n I.length && (o.push(new k(3, "", "", L(I), "", 3)), I = "");\n }, "$"), G = /* @__PURE__ */ __name((f, u, d, T, Y) => {\n let g = 3;\n switch (Y) {\n case "?":\n g = 1;\n break;\n case "*":\n g = 0;\n break;\n case "+":\n g = 2;\n break;\n }\n if (!u && !d && g === 3) {\n H(f);\n return;\n }\n if ($(), !u && !d) {\n if (!f)\n return;\n o.push(new k(3, "", "", L(f), "", g));\n return;\n }\n let m;\n d ? d === "*" ? m = M : m = d : m = n;\n let R = 2;\n m === n ? (R = 1, m = "") : m === M && (R = 0, m = "");\n let S;\n if (u ? S = u : d && (S = c++), i.has(S))\n throw new TypeError(`Duplicate name \'${S}\'.`);\n i.add(S), o.push(new k(R, S, L(f), m, L(T), g));\n }, "G");\n for (; l < r.length; ) {\n let f = a("CHAR"), u = a("NAME"), d = a("REGEX");\n if (!u && !d && (d = a("ASTERISK")), u || d) {\n let g = f ?? "";\n t.prefixes.indexOf(g) === -1 && (H(g), g = ""), $();\n let m = h();\n G(g, u, d, "", m);\n continue;\n }\n let T = f ?? a("ESCAPED_CHAR");\n if (T) {\n H(T);\n continue;\n }\n if (a("OPEN")) {\n let g = O(), m = a("NAME"), R = a("REGEX");\n !m && !R && (R = a("ASTERISK"));\n let S = O();\n p("CLOSE");\n let be = h();\n G(g, m, R, S, be);\n continue;\n }\n $(), p("END");\n }\n return o;\n}\n__name(D, "D");\nfunction x(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, "\\\\$1");\n}\n__name(x, "x");\nfunction X(e) {\n return e && e.ignoreCase ? "ui" : "u";\n}\n__name(X, "X");\nfunction Z(e, t, r) {\n return F(D(e, r), t, r);\n}\n__name(Z, "Z");\nfunction y(e) {\n switch (e) {\n case 0:\n return "*";\n case 1:\n return "?";\n case 2:\n return "+";\n case 3:\n return "";\n }\n}\n__name(y, "y");\nfunction F(e, t, r = {}) {\n r.delimiter ?? (r.delimiter = "/#?"), r.prefixes ?? (r.prefixes = "./"), r.sensitive ?? (r.sensitive = false), r.strict ?? (r.strict = false), r.end ?? (r.end = true), r.start ?? (r.start = true), r.endsWith = "";\n let n = r.start ? "^" : "";\n for (let s of e) {\n if (s.type === 3) {\n s.modifier === 3 ? n += x(s.value) : n += `(?:${x(s.value)})${y(s.modifier)}`;\n continue;\n }\n t && t.push(s.name);\n let i = `[^${x(r.delimiter)}]+?`, a = s.value;\n if (s.type === 1 ? a = i : s.type === 0 && (a = M), !s.prefix.length && !s.suffix.length) {\n s.modifier === 3 || s.modifier === 1 ? n += `(${a})${y(s.modifier)}` : n += `((?:${a})${y(s.modifier)})`;\n continue;\n }\n if (s.modifier === 3 || s.modifier === 1) {\n n += `(?:${x(s.prefix)}(${a})${x(s.suffix)})`, n += y(s.modifier);\n continue;\n }\n n += `(?:${x(s.prefix)}`, n += `((?:${a})(?:`, n += x(s.suffix), n += x(s.prefix), n += `(?:${a}))*)${x(s.suffix)})`, s.modifier === 0 && (n += "?");\n }\n let o = `[${x(r.endsWith)}]|$`, c = `[${x(r.delimiter)}]`;\n if (r.end)\n return r.strict || (n += `${c}?`), r.endsWith.length ? n += `(?=${o})` : n += "$", new RegExp(n, X(r));\n r.strict || (n += `(?:${c}(?=${o}))?`);\n let l = false;\n if (e.length) {\n let s = e[e.length - 1];\n s.type === 3 && s.modifier === 3 && (l = r.delimiter.indexOf(s) > -1);\n }\n return l || (n += `(?=${c}|${o})`), new RegExp(n, X(r));\n}\n__name(F, "F");\nvar b = { delimiter: "", prefixes: "", sensitive: true, strict: true };\nvar B = { delimiter: ".", prefixes: "", sensitive: true, strict: true };\nvar q = { delimiter: "/", prefixes: "/", sensitive: true, strict: true };\nfunction J(e, t) {\n return e.length ? e[0] === "/" ? true : !t || e.length < 2 ? false : (e[0] == "\\\\" || e[0] == "{") && e[1] == "/" : false;\n}\n__name(J, "J");\nfunction Q(e, t) {\n return e.startsWith(t) ? e.substring(t.length, e.length) : e;\n}\n__name(Q, "Q");\nfunction Ee(e, t) {\n return e.endsWith(t) ? e.substr(0, e.length - t.length) : e;\n}\n__name(Ee, "Ee");\nfunction W(e) {\n return !e || e.length < 2 ? false : e[0] === "[" || (e[0] === "\\\\" || e[0] === "{") && e[1] === "[";\n}\n__name(W, "W");\nvar ee = ["ftp", "file", "http", "https", "ws", "wss"];\nfunction N(e) {\n if (!e)\n return true;\n for (let t of ee)\n if (e.test(t))\n return true;\n return false;\n}\n__name(N, "N");\nfunction te(e, t) {\n if (e = Q(e, "#"), t || e === "")\n return e;\n let r = new URL("https://example.com");\n return r.hash = e, r.hash ? r.hash.substring(1, r.hash.length) : "";\n}\n__name(te, "te");\nfunction re(e, t) {\n if (e = Q(e, "?"), t || e === "")\n return e;\n let r = new URL("https://example.com");\n return r.search = e, r.search ? r.search.substring(1, r.search.length) : "";\n}\n__name(re, "re");\nfunction ne(e, t) {\n return t || e === "" ? e : W(e) ? j(e) : z(e);\n}\n__name(ne, "ne");\nfunction se(e, t) {\n if (t || e === "")\n return e;\n let r = new URL("https://example.com");\n return r.password = e, r.password;\n}\n__name(se, "se");\nfunction ie(e, t) {\n if (t || e === "")\n return e;\n let r = new URL("https://example.com");\n return r.username = e, r.username;\n}\n__name(ie, "ie");\nfunction ae(e, t, r) {\n if (r || e === "")\n return e;\n if (t && !ee.includes(t))\n return new URL(`${t}:${e}`).pathname;\n let n = e[0] == "/";\n return e = new URL(n ? e : "/-" + e, "https://example.com").pathname, n || (e = e.substring(2, e.length)), e;\n}\n__name(ae, "ae");\nfunction oe(e, t, r) {\n return _(t) === e && (e = ""), r || e === "" ? e : K(e);\n}\n__name(oe, "oe");\nfunction ce(e, t) {\n return e = Ee(e, ":"), t || e === "" ? e : A(e);\n}\n__name(ce, "ce");\nfunction _(e) {\n switch (e) {\n case "ws":\n case "http":\n return "80";\n case "wws":\n case "https":\n return "443";\n case "ftp":\n return "21";\n default:\n return "";\n }\n}\n__name(_, "_");\nfunction A(e) {\n if (e === "")\n return e;\n if (/^[-+.A-Za-z0-9]*$/.test(e))\n return e.toLowerCase();\n throw new TypeError(`Invalid protocol \'${e}\'.`);\n}\n__name(A, "A");\nfunction le(e) {\n if (e === "")\n return e;\n let t = new URL("https://example.com");\n return t.username = e, t.username;\n}\n__name(le, "le");\nfunction he(e) {\n if (e === "")\n return e;\n let t = new URL("https://example.com");\n return t.password = e, t.password;\n}\n__name(he, "he");\nfunction z(e) {\n if (e === "")\n return e;\n if (/[\\t\\n\\r #%/:<>?@[\\]^\\\\|]/g.test(e))\n throw new TypeError(`Invalid hostname \'${e}\'`);\n let t = new URL("https://example.com");\n return t.hostname = e, t.hostname;\n}\n__name(z, "z");\nfunction j(e) {\n if (e === "")\n return e;\n if (/[^0-9a-fA-F[\\]:]/g.test(e))\n throw new TypeError(`Invalid IPv6 hostname \'${e}\'`);\n return e.toLowerCase();\n}\n__name(j, "j");\nfunction K(e) {\n if (e === "" || /^[0-9]*$/.test(e) && parseInt(e) <= 65535)\n return e;\n throw new TypeError(`Invalid port \'${e}\'.`);\n}\n__name(K, "K");\nfunction fe(e) {\n if (e === "")\n return e;\n let t = new URL("https://example.com");\n return t.pathname = e[0] !== "/" ? "/-" + e : e, e[0] !== "/" ? t.pathname.substring(2, t.pathname.length) : t.pathname;\n}\n__name(fe, "fe");\nfunction ue(e) {\n return e === "" ? e : new URL(`data:${e}`).pathname;\n}\n__name(ue, "ue");\nfunction pe(e) {\n if (e === "")\n return e;\n let t = new URL("https://example.com");\n return t.search = e, t.search.substring(1, t.search.length);\n}\n__name(pe, "pe");\nfunction de(e) {\n if (e === "")\n return e;\n let t = new URL("https://example.com");\n return t.hash = e, t.hash.substring(1, t.hash.length);\n}\n__name(de, "de");\nvar U = /* @__PURE__ */ __name(class {\n #i;\n #n = [];\n #t = {};\n #e = 0;\n #s = 1;\n #u = 0;\n #c = 0;\n #p = 0;\n #d = 0;\n #g = false;\n constructor(t) {\n this.#i = t;\n }\n get result() {\n return this.#t;\n }\n parse() {\n for (this.#n = v(this.#i, true); this.#e < this.#n.length; this.#e += this.#s) {\n if (this.#s = 1, this.#n[this.#e].type === "END") {\n if (this.#c === 0) {\n this.#P(), this.#l() ? this.#r(9, 1) : this.#h() ? (this.#r(8, 1), this.#t.hash = "") : (this.#r(7, 0), this.#t.search = "", this.#t.hash = "");\n continue;\n } else if (this.#c === 2) {\n this.#f(5);\n continue;\n }\n this.#r(10, 0);\n break;\n }\n if (this.#p > 0)\n if (this.#T())\n this.#p -= 1;\n else\n continue;\n if (this.#O()) {\n this.#p += 1;\n continue;\n }\n switch (this.#c) {\n case 0:\n this.#S() && (this.#t.username = "", this.#t.password = "", this.#t.hostname = "", this.#t.port = "", this.#t.pathname = "", this.#t.search = "", this.#t.hash = "", this.#f(1));\n break;\n case 1:\n if (this.#S()) {\n this.#C();\n let t = 7, r = 1;\n this.#g && (this.#t.pathname = "/"), this.#E() ? (t = 2, r = 3) : this.#g && (t = 2), this.#r(t, r);\n }\n break;\n case 2:\n this.#x() ? this.#f(3) : (this.#b() || this.#h() || this.#l()) && this.#f(5);\n break;\n case 3:\n this.#R() ? this.#r(4, 1) : this.#x() && this.#r(5, 1);\n break;\n case 4:\n this.#x() && this.#r(5, 1);\n break;\n case 5:\n this.#A() ? this.#d += 1 : this.#w() && (this.#d -= 1), this.#y() && !this.#d ? this.#r(6, 1) : this.#b() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 6:\n this.#b() ? this.#r(7, 0) : this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 7:\n this.#h() ? this.#r(8, 1) : this.#l() && this.#r(9, 1);\n break;\n case 8:\n this.#l() && this.#r(9, 1);\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n }\n #r(t, r) {\n switch (this.#c) {\n case 0:\n break;\n case 1:\n this.#t.protocol = this.#o();\n break;\n case 2:\n break;\n case 3:\n this.#t.username = this.#o();\n break;\n case 4:\n this.#t.password = this.#o();\n break;\n case 5:\n this.#t.hostname = this.#o();\n break;\n case 6:\n this.#t.port = this.#o();\n break;\n case 7:\n this.#t.pathname = this.#o();\n break;\n case 8:\n this.#t.search = this.#o();\n break;\n case 9:\n this.#t.hash = this.#o();\n break;\n case 10:\n break;\n }\n this.#k(t, r);\n }\n #k(t, r) {\n this.#c = t, this.#u = this.#e + r, this.#e += r, this.#s = 0;\n }\n #P() {\n this.#e = this.#u, this.#s = 0;\n }\n #f(t) {\n this.#P(), this.#c = t;\n }\n #m(t) {\n return t < 0 && (t = this.#n.length - t), t < this.#n.length ? this.#n[t] : this.#n[this.#n.length - 1];\n }\n #a(t, r) {\n let n = this.#m(t);\n return n.value === r && (n.type === "CHAR" || n.type === "ESCAPED_CHAR" || n.type === "INVALID_CHAR");\n }\n #S() {\n return this.#a(this.#e, ":");\n }\n #E() {\n return this.#a(this.#e + 1, "/") && this.#a(this.#e + 2, "/");\n }\n #x() {\n return this.#a(this.#e, "@");\n }\n #R() {\n return this.#a(this.#e, ":");\n }\n #y() {\n return this.#a(this.#e, ":");\n }\n #b() {\n return this.#a(this.#e, "/");\n }\n #h() {\n if (this.#a(this.#e, "?"))\n return true;\n if (this.#n[this.#e].value !== "?")\n return false;\n let t = this.#m(this.#e - 1);\n return t.type !== "NAME" && t.type !== "REGEX" && t.type !== "CLOSE" && t.type !== "ASTERISK";\n }\n #l() {\n return this.#a(this.#e, "#");\n }\n #O() {\n return this.#n[this.#e].type == "OPEN";\n }\n #T() {\n return this.#n[this.#e].type == "CLOSE";\n }\n #A() {\n return this.#a(this.#e, "[");\n }\n #w() {\n return this.#a(this.#e, "]");\n }\n #o() {\n let t = this.#n[this.#e], r = this.#m(this.#u).index;\n return this.#i.substring(r, t.index);\n }\n #C() {\n let t = {};\n Object.assign(t, b), t.encodePart = A;\n let r = Z(this.#o(), void 0, t);\n this.#g = N(r);\n }\n}, "U");\nvar V = ["protocol", "username", "password", "hostname", "port", "pathname", "search", "hash"];\nvar E = "*";\nfunction ge(e, t) {\n if (typeof e != "string")\n throw new TypeError("parameter 1 is not of type \'string\'.");\n let r = new URL(e, t);\n return { protocol: r.protocol.substring(0, r.protocol.length - 1), username: r.username, password: r.password, hostname: r.hostname, port: r.port, pathname: r.pathname, search: r.search !== "" ? r.search.substring(1, r.search.length) : void 0, hash: r.hash !== "" ? r.hash.substring(1, r.hash.length) : void 0 };\n}\n__name(ge, "ge");\nfunction P(e, t) {\n return t ? C(e) : e;\n}\n__name(P, "P");\nfunction w(e, t, r) {\n let n;\n if (typeof t.baseURL == "string")\n try {\n n = new URL(t.baseURL), e.protocol = P(n.protocol.substring(0, n.protocol.length - 1), r), e.username = P(n.username, r), e.password = P(n.password, r), e.hostname = P(n.hostname, r), e.port = P(n.port, r), e.pathname = P(n.pathname, r), e.search = P(n.search.substring(1, n.search.length), r), e.hash = P(n.hash.substring(1, n.hash.length), r);\n } catch {\n throw new TypeError(`invalid baseURL \'${t.baseURL}\'.`);\n }\n if (typeof t.protocol == "string" && (e.protocol = ce(t.protocol, r)), typeof t.username == "string" && (e.username = ie(t.username, r)), typeof t.password == "string" && (e.password = se(t.password, r)), typeof t.hostname == "string" && (e.hostname = ne(t.hostname, r)), typeof t.port == "string" && (e.port = oe(t.port, e.protocol, r)), typeof t.pathname == "string") {\n if (e.pathname = t.pathname, n && !J(e.pathname, r)) {\n let o = n.pathname.lastIndexOf("/");\n o >= 0 && (e.pathname = P(n.pathname.substring(0, o + 1), r) + e.pathname);\n }\n e.pathname = ae(e.pathname, e.protocol, r);\n }\n return typeof t.search == "string" && (e.search = re(t.search, r)), typeof t.hash == "string" && (e.hash = te(t.hash, r)), e;\n}\n__name(w, "w");\nfunction C(e) {\n return e.replace(/([+*?:{}()\\\\])/g, "\\\\$1");\n}\n__name(C, "C");\nfunction Re(e) {\n return e.replace(/([.+*?^${}()[\\]|/\\\\])/g, "\\\\$1");\n}\n__name(Re, "Re");\nfunction ye(e, t) {\n t.delimiter ?? (t.delimiter = "/#?"), t.prefixes ?? (t.prefixes = "./"), t.sensitive ?? (t.sensitive = false), t.strict ?? (t.strict = false), t.end ?? (t.end = true), t.start ?? (t.start = true), t.endsWith = "";\n let r = ".*", n = `[^${Re(t.delimiter)}]+?`, o = /[$_\\u200C\\u200D\\p{ID_Continue}]/u, c = "";\n for (let l = 0; l < e.length; ++l) {\n let s = e[l];\n if (s.type === 3) {\n if (s.modifier === 3) {\n c += C(s.value);\n continue;\n }\n c += `{${C(s.value)}}${y(s.modifier)}`;\n continue;\n }\n let i = s.hasCustomName(), a = !!s.suffix.length || !!s.prefix.length && (s.prefix.length !== 1 || !t.prefixes.includes(s.prefix)), h = l > 0 ? e[l - 1] : null, p = l < e.length - 1 ? e[l + 1] : null;\n if (!a && i && s.type === 1 && s.modifier === 3 && p && !p.prefix.length && !p.suffix.length)\n if (p.type === 3) {\n let O = p.value.length > 0 ? p.value[0] : "";\n a = o.test(O);\n } else\n a = !p.hasCustomName();\n if (!a && !s.prefix.length && h && h.type === 3) {\n let O = h.value[h.value.length - 1];\n a = t.prefixes.includes(O);\n }\n a && (c += "{"), c += C(s.prefix), i && (c += `:${s.name}`), s.type === 2 ? c += `(${s.value})` : s.type === 1 ? i || (c += `(${n})`) : s.type === 0 && (!i && (!h || h.type === 3 || h.modifier !== 3 || a || s.prefix !== "") ? c += "*" : c += `(${r})`), s.type === 1 && i && s.suffix.length && o.test(s.suffix[0]) && (c += "\\\\"), c += C(s.suffix), a && (c += "}"), s.modifier !== 3 && (c += y(s.modifier));\n }\n return c;\n}\n__name(ye, "ye");\nvar me = /* @__PURE__ */ __name(class {\n #i;\n #n = {};\n #t = {};\n #e = {};\n #s = {};\n constructor(t = {}, r, n) {\n try {\n let o;\n if (typeof r == "string" ? o = r : n = r, typeof t == "string") {\n let i = new U(t);\n if (i.parse(), t = i.result, o === void 0 && typeof t.protocol != "string")\n throw new TypeError("A base URL must be provided for a relative constructor string.");\n t.baseURL = o;\n } else {\n if (!t || typeof t != "object")\n throw new TypeError("parameter 1 is not of type \'string\' and cannot convert to dictionary.");\n if (o)\n throw new TypeError("parameter 1 is not of type \'string\'.");\n }\n typeof n > "u" && (n = { ignoreCase: false });\n let c = { ignoreCase: n.ignoreCase === true }, l = { pathname: E, protocol: E, username: E, password: E, hostname: E, port: E, search: E, hash: E };\n this.#i = w(l, t, true), _(this.#i.protocol) === this.#i.port && (this.#i.port = "");\n let s;\n for (s of V) {\n if (!(s in this.#i))\n continue;\n let i = {}, a = this.#i[s];\n switch (this.#t[s] = [], s) {\n case "protocol":\n Object.assign(i, b), i.encodePart = A;\n break;\n case "username":\n Object.assign(i, b), i.encodePart = le;\n break;\n case "password":\n Object.assign(i, b), i.encodePart = he;\n break;\n case "hostname":\n Object.assign(i, B), W(a) ? i.encodePart = j : i.encodePart = z;\n break;\n case "port":\n Object.assign(i, b), i.encodePart = K;\n break;\n case "pathname":\n N(this.#n.protocol) ? (Object.assign(i, q, c), i.encodePart = fe) : (Object.assign(i, b, c), i.encodePart = ue);\n break;\n case "search":\n Object.assign(i, b, c), i.encodePart = pe;\n break;\n case "hash":\n Object.assign(i, b, c), i.encodePart = de;\n break;\n }\n try {\n this.#s[s] = D(a, i), this.#n[s] = F(this.#s[s], this.#t[s], i), this.#e[s] = ye(this.#s[s], i);\n } catch {\n throw new TypeError(`invalid ${s} pattern \'${this.#i[s]}\'.`);\n }\n }\n } catch (o) {\n throw new TypeError(`Failed to construct \'URLPattern\': ${o.message}`);\n }\n }\n test(t = {}, r) {\n let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" };\n if (typeof t != "string" && r)\n throw new TypeError("parameter 1 is not of type \'string\'.");\n if (typeof t > "u")\n return false;\n try {\n typeof t == "object" ? n = w(n, t, false) : n = w(n, ge(t, r), false);\n } catch {\n return false;\n }\n let o;\n for (o of V)\n if (!this.#n[o].exec(n[o]))\n return false;\n return true;\n }\n exec(t = {}, r) {\n let n = { pathname: "", protocol: "", username: "", password: "", hostname: "", port: "", search: "", hash: "" };\n if (typeof t != "string" && r)\n throw new TypeError("parameter 1 is not of type \'string\'.");\n if (typeof t > "u")\n return;\n try {\n typeof t == "object" ? n = w(n, t, false) : n = w(n, ge(t, r), false);\n } catch {\n return null;\n }\n let o = {};\n r ? o.inputs = [t, r] : o.inputs = [t];\n let c;\n for (c of V) {\n let l = this.#n[c].exec(n[c]);\n if (!l)\n return null;\n let s = {};\n for (let [i, a] of this.#t[c].entries())\n if (typeof a == "string" || typeof a == "number") {\n let h = l[i + 1];\n s[a] = h;\n }\n o[c] = { input: n[c] ?? "", groups: s };\n }\n return o;\n }\n static compareComponent(t, r, n) {\n let o = /* @__PURE__ */ __name((i, a) => {\n for (let h of ["type", "modifier", "prefix", "value", "suffix"]) {\n if (i[h] < a[h])\n return -1;\n if (i[h] === a[h])\n continue;\n return 1;\n }\n return 0;\n }, "o"), c = new k(3, "", "", "", "", 3), l = new k(0, "", "", "", "", 3), s = /* @__PURE__ */ __name((i, a) => {\n let h = 0;\n for (; h < Math.min(i.length, a.length); ++h) {\n let p = o(i[h], a[h]);\n if (p)\n return p;\n }\n return i.length === a.length ? 0 : o(i[h] ?? c, a[h] ?? c);\n }, "s");\n return !r.#e[t] && !n.#e[t] ? 0 : r.#e[t] && !n.#e[t] ? s(r.#s[t], [l]) : !r.#e[t] && n.#e[t] ? s([l], n.#s[t]) : s(r.#s[t], n.#s[t]);\n }\n get protocol() {\n return this.#e.protocol;\n }\n get username() {\n return this.#e.username;\n }\n get password() {\n return this.#e.password;\n }\n get hostname() {\n return this.#e.hostname;\n }\n get port() {\n return this.#e.port;\n }\n get pathname() {\n return this.#e.pathname;\n }\n get search() {\n return this.#e.search;\n }\n get hash() {\n return this.#e.hash;\n }\n}, "me");\n\n// ../../node_modules/.pnpm/urlpattern-polyfill@9.0.0/node_modules/urlpattern-polyfill/index.js\nif (!globalThis.URLPattern) {\n globalThis.URLPattern = me;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n URLPattern\n});\n'},235:(__unused_webpack_module,exports,__nccwpck_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.EdgeVM=void 0;const load_1=__nccwpck_require__(278);const vm_1=__nccwpck_require__(144);const vm_2=__nccwpck_require__(586);let unhandledRejectionHandlers;let uncaughtExceptionHandlers;class EdgeVM extends vm_2.VM{constructor(e){super({...e,extend:n=>(e===null||e===void 0?void 0:e.extend)?e.extend(addPrimitives(n)):addPrimitives(n)});Object.defineProperty(this.context,"__onUnhandledRejectionHandlers",{set:registerUnhandledRejectionHandlers,configurable:false,enumerable:false});Object.defineProperty(this,"__rejectionHandlers",{get:()=>unhandledRejectionHandlers,configurable:false,enumerable:false});Object.defineProperty(this.context,"__onErrorHandlers",{set:registerUncaughtExceptionHandlers,configurable:false,enumerable:false});Object.defineProperty(this,"__errorHandlers",{get:()=>uncaughtExceptionHandlers,configurable:false,enumerable:false});this.evaluate(getDefineEventListenersCode());this.dispatchFetch=this.evaluate(getDispatchFetchCode());for(const e of transferableConstructors){patchInstanceOf(e,this.context)}if(e===null||e===void 0?void 0:e.initialCode){this.evaluate(e.initialCode)}}}exports.EdgeVM=EdgeVM;const transferableConstructors=["Object","Array","RegExp","Uint8Array","ArrayBuffer","Error","SyntaxError","TypeError"];function patchInstanceOf(item,ctx){ctx[Symbol.for(`node:${item}`)]=eval(item);return(0,vm_1.runInContext)(`\n globalThis.${item} = new Proxy(${item}, {\n get(target, prop, receiver) {\n if (prop === Symbol.hasInstance && receiver === globalThis.${item}) {\n const nodeTarget = globalThis[Symbol.for('node:${item}')];\n if (nodeTarget) {\n return function(instance) {\n return instance instanceof target || instance instanceof nodeTarget;\n };\n } else {\n throw new Error('node target must exist')\n }\n }\n\n return Reflect.get(target, prop, receiver);\n }\n })\n `,ctx)}function registerUnhandledRejectionHandlers(e){if(!unhandledRejectionHandlers){process.on("unhandledRejection",(function invokeRejectionHandlers(e,n){unhandledRejectionHandlers.forEach((t=>t({reason:e,promise:n})))}))}unhandledRejectionHandlers=e}function registerUncaughtExceptionHandlers(e){if(!uncaughtExceptionHandlers){process.on("uncaughtException",(function invokeErrorHandlers(e){uncaughtExceptionHandlers.forEach((n=>n(e)))}))}uncaughtExceptionHandlers=e}function getDefineEventListenersCode(){return`\n Object.defineProperty(self, '__listeners', {\n configurable: false,\n enumerable: false,\n value: {},\n writable: true,\n })\n\n function __conditionallyUpdatesHandlerList(eventType) {\n if (eventType === 'unhandledrejection') {\n self.__onUnhandledRejectionHandlers = self.__listeners[eventType];\n } else if (eventType === 'error') {\n self.__onErrorHandlers = self.__listeners[eventType];\n }\n }\n\n function addEventListener(type, handler) {\n const eventType = type.toLowerCase();\n if (eventType === 'fetch' && self.__listeners.fetch) {\n throw new TypeError('You can register just one "fetch" event listener');\n }\n\n self.__listeners[eventType] = self.__listeners[eventType] || [];\n self.__listeners[eventType].push(handler);\n __conditionallyUpdatesHandlerList(eventType);\n }\n\n function removeEventListener(type, handler) {\n const eventType = type.toLowerCase();\n if (self.__listeners[eventType]) {\n self.__listeners[eventType] = self.__listeners[eventType].filter(item => {\n return item !== handler;\n });\n\n if (self.__listeners[eventType].length === 0) {\n delete self.__listeners[eventType];\n }\n }\n __conditionallyUpdatesHandlerList(eventType);\n }\n `}function getDispatchFetchCode(){return`(async function dispatchFetch(input, init) {\n const request = new Request(input, init);\n const event = new FetchEvent(request);\n if (!self.__listeners.fetch) {\n throw new Error("No fetch event listeners found");\n }\n\n const getResponse = ({ response, error }) => {\n if (error || !response || !(response instanceof Response)) {\n console.error(error ? error.toString() : 'The event listener did not respond')\n response = new Response(null, {\n statusText: 'Internal Server Error',\n status: 500\n })\n }\n\n response.waitUntil = () => Promise.all(event.awaiting);\n\n if (response.status < 300 || response.status >= 400 ) {\n response.headers.delete('content-encoding');\n response.headers.delete('transform-encoding');\n response.headers.delete('content-length');\n }\n\n return response;\n }\n\n try {\n await self.__listeners.fetch[0].call(event, event)\n } catch (error) {\n return getResponse({ error })\n }\n\n return Promise.resolve(event.response)\n .then(response => getResponse({ response }))\n .catch(error => getResponse({ error }))\n })`}function addPrimitives(e){defineProperty(e,"self",{enumerable:true,value:e});defineProperty(e,"globalThis",{value:e});defineProperty(e,"Symbol",{value:Symbol});defineProperty(e,"clearInterval",{value:clearInterval});defineProperty(e,"clearTimeout",{value:clearTimeout});defineProperty(e,"setInterval",{value:setInterval});defineProperty(e,"setTimeout",{value:setTimeout});defineProperty(e,"queueMicrotask",{value:queueMicrotask});defineProperty(e,"EdgeRuntime",{value:"edge-runtime"});const n=getTransferablePrimitivesFromContext(e);defineProperties(e,{exports:(0,load_1.load)({...n,WeakRef:(0,vm_1.runInContext)(`WeakRef`,e)}),enumerable:["crypto"],nonenumerable:["Crypto","CryptoKey","SubtleCrypto","fetch","File","FormData","Headers","Request","Response","WebSocket","structuredClone","Blob","URL","URLSearchParams","URLPattern","AbortController","AbortSignal","DOMException","ReadableStream","ReadableStreamBYOBReader","ReadableStreamDefaultReader","TextDecoderStream","TextEncoderStream","TransformStream","WritableStream","WritableStreamDefaultWriter","atob","btoa","TextEncoder","TextDecoder","Event","EventTarget","FetchEvent","PromiseRejectionEvent","console"]});return e}function defineProperty(e,n,t){var r,A,o;Object.defineProperty(e,n,{configurable:(r=t.configurable)!==null&&r!==void 0?r:false,enumerable:(A=t.enumerable)!==null&&A!==void 0?A:false,value:t.value,writable:(o=t.writable)!==null&&o!==void 0?o:true})}function defineProperties(e,n){var t,r;for(const r of(t=n.enumerable)!==null&&t!==void 0?t:[]){if(!n.exports[r]){throw new Error(`Attempt to export a nullable value for "${r}"`)}defineProperty(e,r,{enumerable:true,value:n.exports[r]})}for(const t of(r=n.nonenumerable)!==null&&r!==void 0?r:[]){if(!n.exports[t]){throw new Error(`Attempt to export a nullable value for "${t}"`)}defineProperty(e,t,{value:n.exports[t]})}}function getTransferablePrimitivesFromContext(e){const n=transferableConstructors.join(",");const t=`({${n}})`;return(0,vm_1.runInContext)(t,e)}},889:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.VM=n.EdgeVM=void 0;var r=t(235);Object.defineProperty(n,"EdgeVM",{enumerable:true,get:function(){return r.EdgeVM}});var A=t(586);Object.defineProperty(n,"VM",{enumerable:true,get:function(){return A.VM}})},586:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.VM=void 0;const r=t(144);class VM{constructor(e={}){var n,t,A;const o=(0,r.createContext)({},{name:"Edge Runtime",codeGeneration:(n=e.codeGeneration)!==null&&n!==void 0?n:{strings:false,wasm:true}});this.context=(A=(t=e.extend)===null||t===void 0?void 0:t.call(e,o))!==null&&A!==void 0?A:o}evaluate(e){return(0,r.runInContext)(e,this.context)}}n.VM=VM},456:function(e,n,t){"use strict";var r=this&&this.__awaiter||function(e,n,t,r){function adopt(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,A){function fulfilled(e){try{step(r.next(e))}catch(e){A(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){A(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,n||[])).next())}))};Object.defineProperty(n,"__esModule",{value:true});n.listen=void 0;const A=t(685);const o=t(687);const s=t(17);const a=t(361);const getProtocol=e=>{if(typeof e.protocol==="string")return e.protocol;if(e instanceof A.Server)return"http";if(e instanceof o.Server)return"https"};function listen(e,...n){return r(this,void 0,void 0,(function*(){e.listen(...n,(()=>{}));yield(0,a.once)(e,"listening");const t=e.address();if(!t){throw new Error("Server not listening")}let r;let A=getProtocol(e);if(typeof t==="string"){r=encodeURIComponent((0,s.resolve)(t));if(A){A+="+unix"}else{A="unix"}}else{const{address:e,port:n,family:o}=t;r=o==="IPv6"?`[${e}]`:e;r+=`:${n}`;if(!A){A="tcp"}}return new URL(`${A}://${r}`)}))}n.listen=listen;n["default"]=listen},162:e=>{"use strict";e.exports=e=>{const n=e[0]*1e9+e[1];const t=n/1e6;const r=n/1e9;return{seconds:r,milliseconds:t,nanoseconds:n}}},657:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.EdgeRuntime=void 0;var r=t(889);Object.defineProperty(n,"EdgeRuntime",{enumerable:true,get:function(){return r.EdgeVM}})},214:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.pipeBodyStreamToResponse=n.consumeUint8ArrayReadableStream=n.getClonableBodyStream=void 0;const r=t(781);function getClonableBodyStream(e,n,t){let r=null;return{finalize(){if(r){replaceRequestBody(e,bodyStreamToNodeStream(r))}},cloneBodyStream(){const A=r!==null&&r!==void 0?r:requestToBodyStream(e,n,t);const[o,s]=A.tee();r=o;return s}}}n.getClonableBodyStream=getClonableBodyStream;function requestToBodyStream(e,n,t){const r=new t({start(t){e.on("data",(e=>t.enqueue(new n([...new Uint8Array(e)]))));e.on("end",(()=>t.terminate()));e.on("error",(e=>t.error(e)))}});return r.readable}function bodyStreamToNodeStream(e){const n=e.getReader();return r.Readable.from(async function*(){while(true){const{done:e,value:t}=await n.read();if(e){return}yield t}}())}function replaceRequestBody(e,n){for(const t in n){let r=n[t];if(typeof r==="function"){r=r.bind(n)}e[t]=r}return e}function isUint8ArrayChunk(e){var n;return((n=e===null||e===void 0?void 0:e.constructor)===null||n===void 0?void 0:n.name)=="Uint8Array"}async function*consumeUint8ArrayReadableStream(e){const n=e===null||e===void 0?void 0:e.getReader();if(n){let e;try{while(true){const{done:t,value:r}=await n.read();if(t){return}if(!isUint8ArrayChunk(r)){e=new TypeError("This ReadableStream did not return bytes.");break}yield r}}finally{if(e){n.cancel(e);throw e}else{n.cancel()}}}}n.consumeUint8ArrayReadableStream=consumeUint8ArrayReadableStream;async function pipeBodyStreamToResponse(e,n){if(!e)return;if(n.destroyed)return e.cancel();let t;n.on("drain",(()=>t===null||t===void 0?void 0:t()));let r=true;n.on("close",(()=>{r=false;t===null||t===void 0?void 0:t()}));const A=e.getReader();while(r){const{done:e,value:o}=await A.read();if(e)break;if(!isUint8ArrayChunk(o)){const e=new TypeError("This ReadableStream did not return bytes.");A.cancel(e);throw e}if(r){const e=n.write(o);if(!e){await new Promise((e=>{t=e}))}}if(!r){return A.cancel()}}}n.pipeBodyStreamToResponse=pipeBodyStreamToResponse},849:function(e,n,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:true});n.createHandler=void 0;const A=t(214);const o=r(t(606));const s=r(t(943));const a=t(685);function createHandler(e){const n=new Set;return{handler:async(t,r)=>{var i,l;try{const c=(0,s.default)();const u=t.method!=="GET"&&t.method!=="HEAD"?(0,A.getClonableBodyStream)(t,e.runtime.evaluate("Uint8Array"),e.runtime.context.TransformStream):undefined;const g=await e.runtime.dispatchFetch(String(getURL(t)),{headers:toRequestInitHeaders(t),method:t.method,body:u===null||u===void 0?void 0:u.cloneBodyStream()});const d=g.waitUntil();n.add(d);d.finally((()=>n.delete(d)));r.statusCode=g.status;r.statusMessage=g.statusText;for(const[e,n]of Object.entries(toNodeHeaders(g.headers))){if(n!==undefined){r.setHeader(e,n)}}await(0,A.pipeBodyStreamToResponse)(g.body,r);const h=`${t.socket.remoteAddress} ${t.method} ${t.url}`;const p=`${(i=(0,o.default)(c()).match(/[a-zA-Z]+|[0-9]+/g))===null||i===void 0?void 0:i.join(" ")}`;const f=`${r.statusCode} ${a.STATUS_CODES[r.statusCode]}`;(l=e.logger)===null||l===void 0?void 0:l.debug(`${h} → ${f} in ${p}`);r.end()}finally{if(!r.writableEnded){r.end()}}},waitUntil:()=>Promise.all(n)}}n.createHandler=createHandler;function getURL(e){var n;const t=((n=e.socket)===null||n===void 0?void 0:n.encrypted)?"https":"http";return new URL(String(e.url),`${t}://${String(e.headers.host)}`)}function toRequestInitHeaders(e){return Object.keys(e.headers).map((n=>{const t=e.headers[n];return[n,Array.isArray(t)?t.join(", "):t!==null&&t!==void 0?t:""]}))}function toNodeHeaders(e){const n={};if(e){for(const[t,r]of e.entries()){n[t]=t.toLowerCase()==="set-cookie"?e.getAll("set-cookie"):r}}return n}},890:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.runServer=n.createHandler=n.pipeBodyStreamToResponse=n.consumeUint8ArrayReadableStream=void 0;var r=t(214);Object.defineProperty(n,"consumeUint8ArrayReadableStream",{enumerable:true,get:function(){return r.consumeUint8ArrayReadableStream}});Object.defineProperty(n,"pipeBodyStreamToResponse",{enumerable:true,get:function(){return r.pipeBodyStreamToResponse}});var A=t(849);Object.defineProperty(n,"createHandler",{enumerable:true,get:function(){return A.createHandler}});var o=t(450);Object.defineProperty(n,"runServer",{enumerable:true,get:function(){return o.runServer}})},450:function(e,n,t){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:true});n.runServer=void 0;const A=t(849);const o=r(t(456));const s=r(t(685));async function runServer(e){if(e.port===undefined)e.port=0;const{handler:n,waitUntil:t}=(0,A.createHandler)(e);const r=s.default.createServer(n);const a=await(0,o.default)(r,e);return{url:String(a),close:async()=>{await t();await new Promise(((e,n)=>r.close((t=>{if(t)n(t);e()}))))},waitUntil:t}}n.runServer=runServer},523:e=>{"use strict";e.exports=e=>{if(typeof e!=="number"){throw new TypeError("Expected a number")}const n=e>0?Math.floor:Math.ceil;return{days:n(e/864e5),hours:n(e/36e5)%24,minutes:n(e/6e4)%60,seconds:n(e/1e3)%60,milliseconds:n(e)%1e3,microseconds:n(e*1e3)%1e3,nanoseconds:n(e*1e6)%1e3}}},606:(e,n,t)=>{"use strict";const r=t(523);const pluralize=(e,n)=>n===1?e:`${e}s`;const A=1e-7;e.exports=(e,n={})=>{if(!Number.isFinite(e)){throw new TypeError("Expected a finite number")}if(n.colonNotation){n.compact=false;n.formatSubMilliseconds=false;n.separateMilliseconds=false;n.verbose=false}if(n.compact){n.secondsDecimalDigits=0;n.millisecondsDecimalDigits=0}const t=[];const floorDecimals=(e,n)=>{const t=Math.floor(e*10**n+A);const r=Math.round(t)/10**n;return r.toFixed(n)};const add=(e,r,A,o)=>{if((t.length===0||!n.colonNotation)&&e===0&&!(n.colonNotation&&A==="m")){return}o=(o||e||"0").toString();let s;let a;if(n.colonNotation){s=t.length>0?":":"";a="";const e=o.includes(".")?o.split(".")[0].length:o.length;const n=t.length>0?2:1;o="0".repeat(Math.max(0,n-e))+o}else{s="";a=n.verbose?" "+pluralize(r,e):A}t.push(s+o+a)};const o=r(e);add(Math.trunc(o.days/365),"year","y");add(o.days%365,"day","d");add(o.hours,"hour","h");add(o.minutes,"minute","m");if(n.separateMilliseconds||n.formatSubMilliseconds||!n.colonNotation&&e<1e3){add(o.seconds,"second","s");if(n.formatSubMilliseconds){add(o.milliseconds,"millisecond","ms");add(o.microseconds,"microsecond","µs");add(o.nanoseconds,"nanosecond","ns")}else{const e=o.milliseconds+o.microseconds/1e3+o.nanoseconds/1e6;const t=typeof n.millisecondsDecimalDigits==="number"?n.millisecondsDecimalDigits:0;const r=e>=1?Math.round(e):Math.ceil(e);const A=t?e.toFixed(t):r;add(Number.parseFloat(A,10),"millisecond","ms",A)}}else{const t=e/1e3%60;const r=typeof n.secondsDecimalDigits==="number"?n.secondsDecimalDigits:1;const A=floorDecimals(t,r);const o=n.keepDecimalsOnWholeSeconds?A:A.replace(/\.0+$/,"");add(Number.parseFloat(o,10),"second","s",o)}if(t.length===0){return"0"+(n.verbose?" milliseconds":"ms")}if(n.compact){return t[0]}if(typeof n.unitCount==="number"){const e=n.colonNotation?"":" ";return t.slice(0,Math.max(n.unitCount,1)).join(e)}return n.colonNotation?t.join(""):t.join(" ")}},943:(e,n,t)=>{"use strict";const r=t(162);e.exports=()=>{const e=process.hrtime();const end=n=>r(process.hrtime(e))[n];const returnValue=()=>end("milliseconds");returnValue.rounded=()=>Math.round(end("milliseconds"));returnValue.seconds=()=>end("seconds");returnValue.nanoseconds=()=>end("nanoseconds");return returnValue}},113:e=>{"use strict";e.exports=require("crypto")},361:e=>{"use strict";e.exports=require("events")},685:e=>{"use strict";e.exports=require("http")},687:e=>{"use strict";e.exports=require("https")},188:e=>{"use strict";e.exports=require("module")},17:e=>{"use strict";e.exports=require("path")},781:e=>{"use strict";e.exports=require("stream")},144:e=>{"use strict";e.exports=require("vm")}};var __webpack_module_cache__={};function __nccwpck_require__(e){var n=__webpack_module_cache__[e];if(n!==undefined){return n.exports}var t=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e].call(t.exports,t,t.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return t.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__={};(()=>{"use strict";var e=__webpack_exports__;Object.defineProperty(e,"__esModule",{value:true});e.EdgeRuntime=e.runServer=e.createHandler=e.pipeBodyStreamToResponse=e.consumeUint8ArrayReadableStream=void 0;var n=__nccwpck_require__(890);Object.defineProperty(e,"consumeUint8ArrayReadableStream",{enumerable:true,get:function(){return n.consumeUint8ArrayReadableStream}});Object.defineProperty(e,"pipeBodyStreamToResponse",{enumerable:true,get:function(){return n.pipeBodyStreamToResponse}});Object.defineProperty(e,"createHandler",{enumerable:true,get:function(){return n.createHandler}});Object.defineProperty(e,"runServer",{enumerable:true,get:function(){return n.runServer}});var t=__nccwpck_require__(657);Object.defineProperty(e,"EdgeRuntime",{enumerable:true,get:function(){return t.EdgeRuntime}})})();module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/packages/next/src/compiled/sass-loader/cjs.js b/packages/next/src/compiled/sass-loader/cjs.js index 73546243d846d..47d6459ca0b6f 100644 --- a/packages/next/src/compiled/sass-loader/cjs.js +++ b/packages/next/src/compiled/sass-loader/cjs.js @@ -1 +1 @@ -(function(){var __webpack_modules__={12:function(e,t){function set(e,t,s){if(typeof s.value==="object")s.value=klona(s.value);if(!s.enumerable||s.get||s.set||!s.configurable||!s.writable||t==="__proto__"){Object.defineProperty(e,t,s)}else e[t]=s.value}function klona(e){if(typeof e!=="object")return e;var t=0,s,r,n,o=Object.prototype.toString.call(e);if(o==="[object Object]"){n=Object.create(e.__proto__||null)}else if(o==="[object Array]"){n=Array(e.length)}else if(o==="[object Set]"){n=new Set;e.forEach((function(e){n.add(klona(e))}))}else if(o==="[object Map]"){n=new Map;e.forEach((function(e,t){n.set(klona(t),klona(e))}))}else if(o==="[object Date]"){n=new Date(+e)}else if(o==="[object RegExp]"){n=new RegExp(e.source,e.flags)}else if(o==="[object DataView]"){n=new e.constructor(klona(e.buffer))}else if(o==="[object ArrayBuffer]"){n=e.slice(0)}else if(o.slice(-6)==="Array]"){n=new e.constructor(e)}if(n){for(r=Object.getOwnPropertySymbols(e);t{if(e){if(e.file){this.addDependency(r.default.normalize(e.file))}s(new a.default(e));return}let n=t.map?JSON.parse(t.map):null;if(n&&c){n=(0,o.normalizeSourceMap)(n,this.rootContext)}t.stats.includedFiles.forEach((e=>{const t=r.default.normalize(e);if(r.default.isAbsolute(t)){this.addDependency(t)}}));s(null,t.css.toString(),n)}))}var i=loader;t["default"]=i},60:function(__unused_webpack_module,exports,__nccwpck_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getRenderFunctionFromSassImplementation=getRenderFunctionFromSassImplementation;exports.getSassImplementation=getSassImplementation;exports.getSassOptions=getSassOptions;exports.getWebpackImporter=getWebpackImporter;exports.getWebpackResolver=getWebpackResolver;exports.isSupportedFibers=isSupportedFibers;exports.normalizeSourceMap=normalizeSourceMap;var _url=_interopRequireDefault(__nccwpck_require__(310));var _path=_interopRequireDefault(__nccwpck_require__(17));var _full=__nccwpck_require__(12);var _neoAsync=_interopRequireDefault(__nccwpck_require__(175));var _SassWarning=_interopRequireDefault(__nccwpck_require__(386));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getDefaultSassImplementation(){let sassImplPkg="sass";try{eval("require").resolve("sass")}catch(error){try{eval("require").resolve("node-sass");sassImplPkg="node-sass"}catch(e){sassImplPkg="sass"}}return __nccwpck_require__(438)}function getSassImplementation(e,t){let s=t;if(!s){try{s=getDefaultSassImplementation()}catch(t){e.emitError(t);return}}if(typeof s==="string"){try{s=require(s)}catch(t){e.emitError(t);return}}const{info:r}=s;if(!r){e.emitError(new Error("Unknown Sass implementation."));return}const n=r.split("\t");if(n.length<2){e.emitError(new Error(`Unknown Sass implementation "${r}".`));return}const[o]=n;if(o==="dart-sass"){return s}else if(o==="node-sass"){return s}e.emitError(new Error(`Unknown Sass implementation "${o}".`))}function isProductionLikeMode(e){return e.mode==="production"||!e.mode}function proxyCustomImporters(e,t){return[].concat(e).map((e=>function proxyImporter(...s){const r={...this,webpackLoaderContext:t};return e.apply(r,s)}))}function isSupportedFibers(){const[e]=process.versions.node.split(".");return Number(e)<16}async function getSassOptions(e,t,s,r,n){const o=(0,_full.klona)(t.sassOptions?typeof t.sassOptions==="function"?t.sassOptions(e)||{}:t.sassOptions:{});const a=r.info.includes("dart-sass");if(a&&isSupportedFibers()){const e=!o.fiber&&o.fiber!==false;if(e){let e;try{e=__nccwpck_require__.ab+"fibers.js"}catch(e){}if(__nccwpck_require__.ab+"fibers.js"){o.fiber=__nccwpck_require__(410)(e)}}else if(o.fiber===false){delete o.fiber}}else{delete o.fiber}o.file=e.resourcePath;o.data=t.additionalData?typeof t.additionalData==="function"?await t.additionalData(s,e):`${t.additionalData}\n${s}`:s;if(!o.outputStyle&&isProductionLikeMode(e)){o.outputStyle="compressed"}if(n){o.sourceMap=true;o.outFile=_path.default.join(e.rootContext,"style.css.map");o.sourceMapContents=true;o.omitSourceMapUrl=true;o.sourceMapEmbed=false}const{resourcePath:i}=e;const c=_path.default.extname(i);if(c&&c.toLowerCase()===".sass"&&typeof o.indentedSyntax==="undefined"){o.indentedSyntax=true}else{o.indentedSyntax=Boolean(o.indentedSyntax)}o.importer=o.importer?proxyCustomImporters(Array.isArray(o.importer)?o.importer:[o.importer],e):[];o.includePaths=[].concat(process.cwd()).concat((o.includePaths||[]).map((e=>_path.default.isAbsolute(e)?e:_path.default.join(process.cwd(),e)))).concat(process.env.SASS_PATH?process.env.SASS_PATH.split(process.platform==="win32"?";":":"):[]);if(typeof o.charset==="undefined"){o.charset=true}if(!o.logger){const s=t.warnRuleAsWarning===true;const r=e.getLogger("sass-loader");const formatSpan=e=>`${e.url||"-"}:${e.start.line}:${e.start.column}: `;o.logger={debug(e,t){let s="";if(t.span){s=formatSpan(t.span)}s+=e;r.debug(s)},warn(t,n){let o="";if(n.deprecation){o+="Deprecation "}if(n.span&&!n.stack){o=formatSpan(n.span)}o+=t;if(n.stack){o+=`\n\n${n.stack}`}if(s){e.emitWarning(new _SassWarning.default(o,n))}else{r.warn(o)}}}}return o}const MODULE_REQUEST_REGEX=/^[^?]*~/;const IS_MODULE_IMPORT=/^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;function getPossibleRequests(e,t=false,s=false){let r=e;if(t){if(MODULE_REQUEST_REGEX.test(e)){r=r.replace(MODULE_REQUEST_REGEX,"")}if(IS_MODULE_IMPORT.test(e)){r=r[r.length-1]==="/"?r:`${r}/`;return[...new Set([r,e])]}}const n=_path.default.extname(r).toLowerCase();if(n===".css"){return[]}const o=_path.default.dirname(r);const a=o==="."?"":`${o}/`;const i=_path.default.basename(r);const c=_path.default.basename(r,n);return[...new Set([].concat(s?[`${a}_${c}.import${n}`,`${a}${c}.import${n}`]:[]).concat([`${a}_${i}`,`${a}${i}`]).concat(t?[e]:[]))]}function promiseResolve(e){return(t,s)=>new Promise(((r,n)=>{e(t,s,((e,t)=>{if(e){n(e)}else{r(t)}}))}))}const IS_SPECIAL_MODULE_IMPORT=/^~[^/]+$/;const IS_NATIVE_WIN32_PATH=/^[a-z]:[/\\]|^\\\\/i;function getWebpackResolver(e,t,s=[]){async function startResolving(e){if(e.length===0){return Promise.reject()}const[{possibleRequests:t}]=e;if(t.length===0){return Promise.reject()}const[{resolve:s,context:r}]=e;try{return await s(r,t[0])}catch(s){const[,...r]=t;if(r.length===0){const[,...t]=e;return startResolving(t)}e[0].possibleRequests=r;return startResolving(e)}}const r=t.info.includes("dart-sass");const n=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const o=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index.import","_index","index.import","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const a=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const i=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index.import","_index","index.import","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));return(e,t,c)=>{if(!r&&!_path.default.isAbsolute(e)){return Promise.reject()}const l=t;const u=l.slice(0,5).toLowerCase()==="file:";if(u){try{t=_url.default.fileURLToPath(l)}catch(e){t=t.slice(7)}}let p=[];const f=!IS_SPECIAL_MODULE_IMPORT.test(t)&&!u&&!l.startsWith("/")&&!IS_NATIVE_WIN32_PATH.test(l);if(s.length>0&&f){const a=getPossibleRequests(t,false,c);if(!r){p=p.concat({resolve:c?o:n,context:_path.default.dirname(e),possibleRequests:a})}p=p.concat(s.map((e=>({resolve:c?o:n,context:e,possibleRequests:a}))))}const _=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:_});return startResolving(p)}}const MATCH_CSS=/\.css$/i;function getWebpackImporter(e,t,s){const r=getWebpackResolver(e.getResolve,t,s);return function importer(t,s,n){const{fromImport:o}=this;r(s,t,o).then((t=>{e.addDependency(_path.default.normalize(t));n({file:t.replace(MATCH_CSS,"")})})).catch((()=>{n({file:t})}))}}let nodeSassJobQueue=null;function getRenderFunctionFromSassImplementation(e){const t=e.info.includes("dart-sass");if(t){return e.render.bind(e)}if(nodeSassJobQueue===null){const t=Number(process.env.UV_THREADPOOL_SIZE||4);nodeSassJobQueue=_neoAsync.default.queue(e.render.bind(e),t-1)}return nodeSassJobQueue.push.bind(nodeSassJobQueue)}const ABSOLUTE_SCHEME=/^[A-Za-z0-9+\-.]+:/;function getURLType(e){if(e[0]==="/"){if(e[1]==="/"){return"scheme-relative"}return"path-absolute"}if(IS_NATIVE_WIN32_PATH.test(e)){return"path-absolute"}return ABSOLUTE_SCHEME.test(e)?"absolute":"path-relative"}function normalizeSourceMap(e,t){const s=e;delete s.file;s.sourceRoot="";s.sources=s.sources.map((e=>{const s=getURLType(e);if(s==="path-relative"){return _path.default.resolve(t,_path.default.normalize(e))}return e}));return s}},410:function(e){function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");t.code="MODULE_NOT_FOUND";throw t}webpackEmptyContext.keys=function(){return[]};webpackEmptyContext.resolve=webpackEmptyContext;webpackEmptyContext.id=410;e.exports=webpackEmptyContext},175:function(e){"use strict";e.exports=require("next/dist/compiled/neo-async")},17:function(e){"use strict";e.exports=require("path")},438:function(e){"use strict";e.exports=require("sass")},310:function(e){"use strict";e.exports=require("url")},11:function(e){"use strict";e.exports=JSON.parse('{"title":"Sass Loader options","type":"object","properties":{"implementation":{"description":"The implementation of the sass to be used.","link":"https://github.com/webpack-contrib/sass-loader#implementation","anyOf":[{"type":"string"},{"type":"object"}]},"sassOptions":{"description":"Options for `node-sass` or `sass` (`Dart Sass`) implementation.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","anyOf":[{"type":"object","additionalProperties":true},{"instanceof":"Function"}]},"additionalData":{"description":"Prepends/Appends `Sass`/`SCSS` code before the actual entry file.","link":"https://github.com/webpack-contrib/sass-loader#additionaldata","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","link":"https://github.com/webpack-contrib/sass-loader#sourcemap","type":"boolean"},"webpackImporter":{"description":"Enables/Disables default `webpack` importer.","link":"https://github.com/webpack-contrib/sass-loader#webpackimporter","type":"boolean"},"warnRuleAsWarning":{"description":"Treats the \'@warn\' rule as a webpack warning.","link":"https://github.com/webpack-contrib/sass-loader#warnruleaswarning","type":"boolean"}},"additionalProperties":false}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var s=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e](s,s.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return s.exports}!function(){__nccwpck_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(847);module.exports=__webpack_exports__})(); \ No newline at end of file +(function(){var __webpack_modules__={12:function(e,t){function set(e,t,s){if(typeof s.value==="object")s.value=klona(s.value);if(!s.enumerable||s.get||s.set||!s.configurable||!s.writable||t==="__proto__"){Object.defineProperty(e,t,s)}else e[t]=s.value}function klona(e){if(typeof e!=="object")return e;var t=0,s,r,n,o=Object.prototype.toString.call(e);if(o==="[object Object]"){n=Object.create(e.__proto__||null)}else if(o==="[object Array]"){n=Array(e.length)}else if(o==="[object Set]"){n=new Set;e.forEach((function(e){n.add(klona(e))}))}else if(o==="[object Map]"){n=new Map;e.forEach((function(e,t){n.set(klona(t),klona(e))}))}else if(o==="[object Date]"){n=new Date(+e)}else if(o==="[object RegExp]"){n=new RegExp(e.source,e.flags)}else if(o==="[object DataView]"){n=new e.constructor(klona(e.buffer))}else if(o==="[object ArrayBuffer]"){n=e.slice(0)}else if(o.slice(-6)==="Array]"){n=new e.constructor(e)}if(n){for(r=Object.getOwnPropertySymbols(e);t{if(e){if(e.file){this.addDependency(r.default.normalize(e.file))}s(new a.default(e));return}let n=t.map?JSON.parse(t.map):null;if(n&&c){n=(0,o.normalizeSourceMap)(n,this.rootContext)}t.stats.includedFiles.forEach((e=>{const t=r.default.normalize(e);if(r.default.isAbsolute(t)){this.addDependency(t)}}));s(null,t.css.toString(),n)}))}var i=loader;t["default"]=i},125:function(__unused_webpack_module,exports,__nccwpck_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getRenderFunctionFromSassImplementation=getRenderFunctionFromSassImplementation;exports.getSassImplementation=getSassImplementation;exports.getSassOptions=getSassOptions;exports.getWebpackImporter=getWebpackImporter;exports.getWebpackResolver=getWebpackResolver;exports.isSupportedFibers=isSupportedFibers;exports.normalizeSourceMap=normalizeSourceMap;var _url=_interopRequireDefault(__nccwpck_require__(310));var _path=_interopRequireDefault(__nccwpck_require__(17));var _full=__nccwpck_require__(12);var _neoAsync=_interopRequireDefault(__nccwpck_require__(175));var _SassWarning=_interopRequireDefault(__nccwpck_require__(186));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getDefaultSassImplementation(){let sassImplPkg="sass";try{eval("require").resolve("sass")}catch(error){try{eval("require").resolve("node-sass");sassImplPkg="node-sass"}catch(e){sassImplPkg="sass"}}return __nccwpck_require__(438)}function getSassImplementation(e,t){let s=t;if(!s){try{s=getDefaultSassImplementation()}catch(t){e.emitError(t);return}}if(typeof s==="string"){try{s=require(s)}catch(t){e.emitError(t);return}}const{info:r}=s;if(!r){e.emitError(new Error("Unknown Sass implementation."));return}const n=r.split("\t");if(n.length<2){e.emitError(new Error(`Unknown Sass implementation "${r}".`));return}const[o]=n;if(o==="dart-sass"){return s}else if(o==="node-sass"){return s}e.emitError(new Error(`Unknown Sass implementation "${o}".`))}function isProductionLikeMode(e){return e.mode==="production"||!e.mode}function proxyCustomImporters(e,t){return[].concat(e).map((e=>function proxyImporter(...s){const r={...this,webpackLoaderContext:t};return e.apply(r,s)}))}function isSupportedFibers(){const[e]=process.versions.node.split(".");return Number(e)<16}async function getSassOptions(e,t,s,r,n){const o=(0,_full.klona)(t.sassOptions?typeof t.sassOptions==="function"?t.sassOptions(e)||{}:t.sassOptions:{});const a=r.info.includes("dart-sass");if(a&&isSupportedFibers()){const e=!o.fiber&&o.fiber!==false;if(e){let e;try{e=__nccwpck_require__.ab+"fibers.js"}catch(e){}if(__nccwpck_require__.ab+"fibers.js"){o.fiber=__nccwpck_require__(684)(e)}}else if(o.fiber===false){delete o.fiber}}else{delete o.fiber}o.file=e.resourcePath;o.data=t.additionalData?typeof t.additionalData==="function"?await t.additionalData(s,e):`${t.additionalData}\n${s}`:s;if(!o.outputStyle&&isProductionLikeMode(e)){o.outputStyle="compressed"}if(n){o.sourceMap=true;o.outFile=_path.default.join(e.rootContext,"style.css.map");o.sourceMapContents=true;o.omitSourceMapUrl=true;o.sourceMapEmbed=false}const{resourcePath:i}=e;const c=_path.default.extname(i);if(c&&c.toLowerCase()===".sass"&&typeof o.indentedSyntax==="undefined"){o.indentedSyntax=true}else{o.indentedSyntax=Boolean(o.indentedSyntax)}o.importer=o.importer?proxyCustomImporters(Array.isArray(o.importer)?o.importer:[o.importer],e):[];o.includePaths=[].concat(process.cwd()).concat((o.includePaths||[]).map((e=>_path.default.isAbsolute(e)?e:_path.default.join(process.cwd(),e)))).concat(process.env.SASS_PATH?process.env.SASS_PATH.split(process.platform==="win32"?";":":"):[]);if(typeof o.charset==="undefined"){o.charset=true}if(!o.logger){const s=t.warnRuleAsWarning===true;const r=e.getLogger("sass-loader");const formatSpan=e=>`${e.url||"-"}:${e.start.line}:${e.start.column}: `;o.logger={debug(e,t){let s="";if(t.span){s=formatSpan(t.span)}s+=e;r.debug(s)},warn(t,n){let o="";if(n.deprecation){o+="Deprecation "}if(n.span&&!n.stack){o=formatSpan(n.span)}o+=t;if(n.stack){o+=`\n\n${n.stack}`}if(s){e.emitWarning(new _SassWarning.default(o,n))}else{r.warn(o)}}}}return o}const MODULE_REQUEST_REGEX=/^[^?]*~/;const IS_MODULE_IMPORT=/^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;function getPossibleRequests(e,t=false,s=false){let r=e;if(t){if(MODULE_REQUEST_REGEX.test(e)){r=r.replace(MODULE_REQUEST_REGEX,"")}if(IS_MODULE_IMPORT.test(e)){r=r[r.length-1]==="/"?r:`${r}/`;return[...new Set([r,e])]}}const n=_path.default.extname(r).toLowerCase();if(n===".css"){return[]}const o=_path.default.dirname(r);const a=o==="."?"":`${o}/`;const i=_path.default.basename(r);const c=_path.default.basename(r,n);return[...new Set([].concat(s?[`${a}_${c}.import${n}`,`${a}${c}.import${n}`]:[]).concat([`${a}_${i}`,`${a}${i}`]).concat(t?[e]:[]))]}function promiseResolve(e){return(t,s)=>new Promise(((r,n)=>{e(t,s,((e,t)=>{if(e){n(e)}else{r(t)}}))}))}const IS_SPECIAL_MODULE_IMPORT=/^~[^/]+$/;const IS_NATIVE_WIN32_PATH=/^[a-z]:[/\\]|^\\\\/i;function getWebpackResolver(e,t,s=[]){async function startResolving(e){if(e.length===0){return Promise.reject()}const[{possibleRequests:t}]=e;if(t.length===0){return Promise.reject()}const[{resolve:s,context:r}]=e;try{return await s(r,t[0])}catch(s){const[,...r]=t;if(r.length===0){const[,...t]=e;return startResolving(t)}e[0].possibleRequests=r;return startResolving(e)}}const r=t.info.includes("dart-sass");const n=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const o=promiseResolve(e({alias:[],aliasFields:[],conditionNames:[],descriptionFiles:[],extensions:[".sass",".scss",".css"],exportsFields:[],mainFields:[],mainFiles:["_index.import","_index","index.import","index"],modules:[],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const a=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));const i=promiseResolve(e({dependencyType:"sass",conditionNames:["sass","style"],mainFields:["sass","style","main","..."],mainFiles:["_index.import","_index","index.import","index","..."],extensions:[".sass",".scss",".css"],restrictions:[/\.((sa|sc|c)ss)$/i],preferRelative:true}));return(e,t,c)=>{if(!r&&!_path.default.isAbsolute(e)){return Promise.reject()}const l=t;const u=l.slice(0,5).toLowerCase()==="file:";if(u){try{t=_url.default.fileURLToPath(l)}catch(e){t=t.slice(7)}}let p=[];const f=!IS_SPECIAL_MODULE_IMPORT.test(t)&&!u&&!l.startsWith("/")&&!IS_NATIVE_WIN32_PATH.test(l);if(s.length>0&&f){const a=getPossibleRequests(t,false,c);if(!r){p=p.concat({resolve:c?o:n,context:_path.default.dirname(e),possibleRequests:a})}p=p.concat(s.map((e=>({resolve:c?o:n,context:e,possibleRequests:a}))))}const _=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:_});return startResolving(p)}}const MATCH_CSS=/\.css$/i;function getWebpackImporter(e,t,s){const r=getWebpackResolver(e.getResolve,t,s);return function importer(t,s,n){const{fromImport:o}=this;r(s,t,o).then((t=>{e.addDependency(_path.default.normalize(t));n({file:t.replace(MATCH_CSS,"")})})).catch((()=>{n({file:t})}))}}let nodeSassJobQueue=null;function getRenderFunctionFromSassImplementation(e){const t=e.info.includes("dart-sass");if(t){return e.render.bind(e)}if(nodeSassJobQueue===null){const t=Number(process.env.UV_THREADPOOL_SIZE||4);nodeSassJobQueue=_neoAsync.default.queue(e.render.bind(e),t-1)}return nodeSassJobQueue.push.bind(nodeSassJobQueue)}const ABSOLUTE_SCHEME=/^[A-Za-z0-9+\-.]+:/;function getURLType(e){if(e[0]==="/"){if(e[1]==="/"){return"scheme-relative"}return"path-absolute"}if(IS_NATIVE_WIN32_PATH.test(e)){return"path-absolute"}return ABSOLUTE_SCHEME.test(e)?"absolute":"path-relative"}function normalizeSourceMap(e,t){const s=e;delete s.file;s.sourceRoot="";s.sources=s.sources.map((e=>{const s=getURLType(e);if(s==="path-relative"){return _path.default.resolve(t,_path.default.normalize(e))}return e}));return s}},684:function(e){function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");t.code="MODULE_NOT_FOUND";throw t}webpackEmptyContext.keys=function(){return[]};webpackEmptyContext.resolve=webpackEmptyContext;webpackEmptyContext.id=684;e.exports=webpackEmptyContext},175:function(e){"use strict";e.exports=require("next/dist/compiled/neo-async")},17:function(e){"use strict";e.exports=require("path")},438:function(e){"use strict";e.exports=require("sass")},310:function(e){"use strict";e.exports=require("url")},596:function(e){"use strict";e.exports=JSON.parse('{"title":"Sass Loader options","type":"object","properties":{"implementation":{"description":"The implementation of the sass to be used.","link":"https://github.com/webpack-contrib/sass-loader#implementation","anyOf":[{"type":"string"},{"type":"object"}]},"sassOptions":{"description":"Options for `node-sass` or `sass` (`Dart Sass`) implementation.","link":"https://github.com/webpack-contrib/sass-loader#sassoptions","anyOf":[{"type":"object","additionalProperties":true},{"instanceof":"Function"}]},"additionalData":{"description":"Prepends/Appends `Sass`/`SCSS` code before the actual entry file.","link":"https://github.com/webpack-contrib/sass-loader#additionaldata","anyOf":[{"type":"string"},{"instanceof":"Function"}]},"sourceMap":{"description":"Enables/Disables generation of source maps.","link":"https://github.com/webpack-contrib/sass-loader#sourcemap","type":"boolean"},"webpackImporter":{"description":"Enables/Disables default `webpack` importer.","link":"https://github.com/webpack-contrib/sass-loader#webpackimporter","type":"boolean"},"warnRuleAsWarning":{"description":"Treats the \'@warn\' rule as a webpack warning.","link":"https://github.com/webpack-contrib/sass-loader#warnruleaswarning","type":"boolean"}},"additionalProperties":false}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var s=__webpack_module_cache__[e]={exports:{}};var r=true;try{__webpack_modules__[e](s,s.exports,__nccwpck_require__);r=false}finally{if(r)delete __webpack_module_cache__[e]}return s.exports}!function(){__nccwpck_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(917);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 97cd0ac9b35f9..0d3ca7b6e26a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -598,7 +598,7 @@ importers: debug: 4.1.1 devalue: 2.0.1 domain-browser: 4.19.0 - edge-runtime: 2.3.2 + edge-runtime: 2.4.4 events: 3.3.0 fibers: '>= 3.1.0' find-cache-dir: 3.3.1 @@ -817,7 +817,7 @@ importers: debug: 4.1.1 devalue: 2.0.1 domain-browser: 4.19.0 - edge-runtime: 2.3.2 + edge-runtime: 2.4.4 events: 3.3.0 find-cache-dir: 3.3.1 find-up: 4.1.0 @@ -871,7 +871,7 @@ importers: react-is: 18.2.0 react-refresh: 0.12.0 regenerator-runtime: 0.13.4 - sass-loader: 12.4.0_tk3fk7f5cr6yvym2qzwo3hwezi + sass-loader: 12.4.0_webpack@5.86.0 schema-utils2: /schema-utils/2.7.1 schema-utils3: /schema-utils/3.0.0 semver: 7.3.2 @@ -4641,6 +4641,11 @@ packages: engines: {node: '>=14'} dev: true + /@edge-runtime/primitives/3.0.3: + resolution: {integrity: sha512-YnfMWMRQABAH8IsnFMJWMW+SyB4ZeYBPnR7V0aqdnew7Pq60cbH5DyFjS/FhiLwvHQk9wBREmXD7PP0HooEQ1A==} + engines: {node: '>=14'} + dev: true + /@edge-runtime/vm/3.0.1: resolution: {integrity: sha512-69twXLIcqVx0iNlc1vFqnXgka2CZi2c/QBAmMzXBk0M6mPG+ICCBh2dd+cv1K+HW2pfLuSW+EskkFXWGeCf1Vw==} engines: {node: '>=14'} @@ -4648,6 +4653,13 @@ packages: '@edge-runtime/primitives': 3.0.1 dev: true + /@edge-runtime/vm/3.0.3: + resolution: {integrity: sha512-SPfI1JeIRNs/4EEE2Oc0X6gG3RqjD1TnKu2lwmwFXq0435xgZGKhc3UiKkYAdoMn2dNFD73nlabMKHBRoMRpxg==} + engines: {node: '>=14'} + dependencies: + '@edge-runtime/primitives': 3.0.3 + dev: true + /@emotion/unitless/0.8.1: resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} dev: true @@ -6124,7 +6136,7 @@ packages: dependencies: '@mdx-js/mdx': 2.2.1 source-map: 0.7.3 - webpack: 5.86.0 + webpack: 5.86.0_@swc+core@1.3.55 transitivePeerDependencies: - supports-color @@ -6798,7 +6810,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-darwin-x64/1.3.55: @@ -6807,7 +6818,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm-gnueabihf/1.3.55: @@ -6816,7 +6826,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-gnu/1.3.55: @@ -6825,7 +6834,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-arm64-musl/1.3.55: @@ -6834,7 +6842,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-gnu/1.3.55: @@ -6843,7 +6850,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-linux-x64-musl/1.3.55: @@ -6852,7 +6858,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@swc/core-win32-arm64-msvc/1.3.55: @@ -6861,7 +6866,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-ia32-msvc/1.3.55: @@ -6870,7 +6874,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core-win32-x64-msvc/1.3.55: @@ -6879,7 +6882,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@swc/core/1.3.55_@swc+helpers@0.5.1: @@ -6904,7 +6906,6 @@ packages: '@swc/core-win32-arm64-msvc': 1.3.55 '@swc/core-win32-ia32-msvc': 1.3.55 '@swc/core-win32-x64-msvc': 1.3.55 - dev: true /@swc/helpers/0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} @@ -11568,19 +11569,19 @@ packages: safe-buffer: 5.2.1 dev: true - /edge-runtime/2.3.2: - resolution: {integrity: sha512-/HmGkthYyMcgvdilRiSh/jhrMeGuQVlep5IukjQMFF1E6lOUXHiA+hCLO87TVn/NIe8kZNGXApk6geyofd2kpQ==} + /edge-runtime/2.4.4: + resolution: {integrity: sha512-uq1YdIxkMDsBYLdSSp/w62PciCL46ic4m1Z/2G6N8RcAPI8p35O8u6hJQT83j28Dnt4U5iyvmwFMYouHMK51uA==} engines: {node: '>=14'} hasBin: true dependencies: '@edge-runtime/format': 2.1.0 - '@edge-runtime/vm': 3.0.1 + '@edge-runtime/vm': 3.0.3 async-listen: 3.0.0 mri: 1.2.0 picocolors: 1.0.0 pretty-bytes: 5.6.0 pretty-ms: 7.0.1 - signal-exit: 4.0.1 + signal-exit: 4.0.2 time-span: 4.0.0 dev: true @@ -12826,6 +12827,7 @@ packages: requiresBuild: true dependencies: detect-libc: 1.0.3 + dev: false /figgy-pudding/3.5.1: resolution: {integrity: sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==} @@ -22394,7 +22396,7 @@ packages: /safer-buffer/2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader/12.4.0_tk3fk7f5cr6yvym2qzwo3hwezi: + /sass-loader/12.4.0_webpack@5.86.0: resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -22410,10 +22412,8 @@ packages: sass: optional: true dependencies: - fibers: 5.0.3 klona: 2.0.4 neo-async: 2.6.2 - sass: 1.54.0 webpack: 5.86.0 dev: true @@ -22741,8 +22741,8 @@ packages: /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signal-exit/4.0.1: - resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} + /signal-exit/4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} engines: {node: '>=14'} dev: true @@ -23807,7 +23807,6 @@ packages: serialize-javascript: 6.0.1 terser: 5.17.7 webpack: 5.86.0_@swc+core@1.3.55 - dev: true /terser/5.10.0: resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} @@ -25165,7 +25164,6 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true /websocket-driver/0.7.3: resolution: {integrity: sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==}