From 77acd164d33b52bb4a46184f2d0c3d1dcb76f164 Mon Sep 17 00:00:00 2001 From: Damien Simonin Feugas Date: Wed, 16 Aug 2023 08:14:27 +0100 Subject: [PATCH 01/21] fix(47299): allow testing pages with metadata in jsdom test environment (#53578) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 🧐 What's in there? This is another attempt to allow testing server-only code with Jest. ### 🧪 How to test? There's an integration tests which can be triggered with `pnpm testheadless server-only` Here is a more comprehensive setup:
app/lib/index.ts ```ts import 'server-only' export function add(num1: number, num2: number) { return num1 + num2 } ```
app/lib/index.test.ts ```ts import { add } from '.' it('adds two numbers', () => { expect(add(1, 3)).toEqual(4) }) ```
app/client-component.tsx ```ts 'use client' import { useState } from 'react' export default function ClientComponent() { const [text, setText] = useState('not clicked yet') return } ```
app/client-component.test.tsx ```ts import { fireEvent, render, screen } from '@testing-library/react' import ClientComponent from './client-component' it('can be clicked', async () => { render() const button = screen.getByRole('button') expect(button).toHaveTextContent('not clicked yet') await fireEvent.click(button) expect(button).toHaveTextContent('clicked!') }) ```
app/server-component.tsx ```ts import { add } from '@/lib' export default function ServerComponent({ a, b }: { a: number; b: number }) { return ( {a} + {b} = {add(a, b)} ) } ```
app/server-component.test.tsx ```ts import { render, screen } from '@testing-library/react' import ServerComponent from './server-component' it('renders', () => { render() expect(screen.getByRole('comment')).toHaveTextContent('2 + 3 = 5') }) ```
app/page.tsx ```ts import Link from 'next/link' import ClientComponent from './client-component' import ServerComponent from './server-component' export default function Page() { return ( <>

Hello World

Dave?

) } ```
app/page.test.tsx ```ts import { render, screen } from '@testing-library/react' import Page from './page' it('greets', () => { render() expect(screen.getByRole('link')).toHaveTextContent('Dave?') expect(screen.getByRole('heading')).toHaveTextContent('Hello World') expect(screen.getByRole('button')).toHaveTextContent('not clicked yet') expect(screen.getByRole('comment')).toHaveTextContent('5 + 2 = 7') }) ```
app/[blog]/page.tsx ```ts import { Metadata } from 'next' import Link from 'next/link' type Props = { params: { blog: string } } export async function generateMetadata({ params: { blog: title }, }: Props): Promise { return { title, description: `A blog post about ${title}` } } export default function Page({ params }: Props) { return ( <>
Back

All about {params.blog}

) } ```
app/[blog]/page.test.tsx ```ts import { render, screen } from '@testing-library/react' import Page from './page' it('has the appropriate title', () => { const title = 'Jane' render() expect(screen.getByRole('heading')).toHaveTextContent(`All about ${title}`) expect(screen.getByRole('link')).toHaveTextContent('Back') }) ```
app/layout.tsx ```ts export default function RootLayout({ children }) { return ( {children} ) } ```
jest.config.js ```ts const nextJest = require('next/jest') const createJestConfig = nextJest({ dir: './' }) module.exports = createJestConfig({ testEnvironment: 'jsdom', setupFilesAfterEnv: ['/test-setup.ts'], }) ```
package.json ```ts { "name": "rsc-test", "version": "0.0.0", "private": true, "scripts": { "test": "jest" }, "devDependencies": { "@testing-library/jest-dom": "latest" } } ```
test-setup.ts ```ts import '@testing-library/jest-dom' ```
The app should run and all test should pass. ### ❗ Notes to reviewers #### The problem: 1. next/jest configures jest with a transformer ([jest-transformer](https://github.com/vercel/next.js/blob/canary/packages/next/src/build/swc/jest-transformer.ts)) to compile react code with next -swc 2. the transformers configures next -swc for a given environment: Server or Client, based on jest global environment 3. Based on the environment, next -swc checks for invalid usage of `import('server-only')` `“use client”`, `export const metadata` or `export async function generateMetadata` 4. Because the global test environment is either jsdom or node, the same test suite can not include both client and server components #### Possible mitigations *A. Using jest projects* When configured with [multiple projects](https://jestjs.io/docs/next/configuration/#projects-arraystring--projectconfig), Jest can launch different runners with different environment. This would allow running server-only code in node and client-only code in jsdom. However, it requires user to completely change their jest configuration. It would also require a different setup when scaffolding new app-directory project with create-next. *B. Using doc blocks* Jest allows changing the environment per test file [with docBlock](https://jestjs.io/docs/configuration#testenvironment-string). However, by the time jest is invoking next -swc on a source file to transform it, this information is gone, and next -swc is still invoked with the (wrong) global environment. The PR #52393 provides a workaround for files with `import('server-only')`, but does not allow testing pages with metadata. *C. Always compile for node* Our jest-transformer could always configure next -swc for server: - pass Server-specific validations `import('server-only')` `export const metadata` or `export async function generateMetadata` - does not complain about `"use client"` This is what this PR is about! Fixes #47299 Co-authored-by: Jiachi Liu <4800338+huozhi@users.noreply.github.com> --- packages/next/package.json | 1 - .../next/src/build/swc/jest-transformer.ts | 19 +------- .../next/src/compiled/jest-docblock/LICENSE | 21 --------- .../next/src/compiled/jest-docblock/index.js | 1 - .../src/compiled/jest-docblock/package.json | 1 - packages/next/src/compiled/sass-loader/cjs.js | 2 +- packages/next/taskfile.js | 10 ---- packages/next/types/misc.d.ts | 5 -- pnpm-lock.yaml | 15 +----- test/production/jest/server-only.test.ts | 47 +++++++++++++++---- 10 files changed, 44 insertions(+), 78 deletions(-) delete mode 100644 packages/next/src/compiled/jest-docblock/LICENSE delete mode 100644 packages/next/src/compiled/jest-docblock/index.js delete mode 100644 packages/next/src/compiled/jest-docblock/package.json diff --git a/packages/next/package.json b/packages/next/package.json index 240a44bb1423b..f1d434086a905 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -242,7 +242,6 @@ "image-size": "1.0.0", "is-docker": "2.0.0", "is-wsl": "2.2.0", - "jest-docblock": "29.4.3", "jest-worker": "27.0.0-next.5", "json5": "2.2.3", "jsonwebtoken": "9.0.0", diff --git a/packages/next/src/build/swc/jest-transformer.ts b/packages/next/src/build/swc/jest-transformer.ts index d269113948866..350a8e2536db5 100644 --- a/packages/next/src/build/swc/jest-transformer.ts +++ b/packages/next/src/build/swc/jest-transformer.ts @@ -29,7 +29,6 @@ DEALINGS IN THE SOFTWARE. import vm from 'vm' import { transformSync } from './index' import { getJestSWCOptions } from './options' -import * as docblock from 'next/dist/compiled/jest-docblock' import type { TransformerCreator, TransformOptions, @@ -77,30 +76,16 @@ function isEsm( ) } -function getTestEnvironment( - src: string, - jestConfig: Config.ProjectConfig -): string { - const docblockPragmas = docblock.parse(docblock.extract(src)) - const pragma = docblockPragmas['jest-environment'] - const environment = - (Array.isArray(pragma) ? pragma[0] : pragma) ?? jestConfig.testEnvironment - return environment -} - const createTransformer: TransformerCreator< SyncTransformer, JestTransformerConfig > = (inputOptions) => ({ process(src, filename, jestOptions) { const jestConfig = getJestConfig(jestOptions) - const testEnvironment = getTestEnvironment(src, jestConfig) const swcTransformOpts = getJestSWCOptions({ - // When target is node it's similar to the server option set in SWC. - isServer: - testEnvironment === 'node' || - testEnvironment.includes('jest-environment-node'), + // Always target server when compiling during test, to pass server-only validations and allow testing pages with metadatas + isServer: true, filename, jsConfig: inputOptions?.jsConfig, resolvedBaseUrl: inputOptions?.resolvedBaseUrl, diff --git a/packages/next/src/compiled/jest-docblock/LICENSE b/packages/next/src/compiled/jest-docblock/LICENSE deleted file mode 100644 index b93be90515ccd..0000000000000 --- a/packages/next/src/compiled/jest-docblock/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) Meta Platforms, Inc. and affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/next/src/compiled/jest-docblock/index.js b/packages/next/src/compiled/jest-docblock/index.js deleted file mode 100644 index 240ca16b9aac3..0000000000000 --- a/packages/next/src/compiled/jest-docblock/index.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e={381:e=>{const detectNewline=e=>{if(typeof e!=="string"){throw new TypeError("Expected a string")}const t=e.match(/(?:\r?\n)/g)||[];if(t.length===0){return}const r=t.filter((e=>e==="\r\n")).length;const n=t.length-r;return r>n?"\r\n":"\n"};e.exports=detectNewline;e.exports.graceful=e=>typeof e==="string"&&detectNewline(e)||"\n"},37:e=>{e.exports=require("os")}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var s=t[r]={exports:{}};var c=true;try{e[r](s,s.exports,__nccwpck_require__);c=false}finally{if(c)delete t[r]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r={};(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:true});e.extract=extract;e.parse=parse;e.parseWithComments=parseWithComments;e.print=print;e.strip=strip;function _os(){const e=__nccwpck_require__(37);_os=function(){return e};return e}function _detectNewline(){const e=_interopRequireDefault(__nccwpck_require__(381));_detectNewline=function(){return e};return e}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const t=/\*\/$/;const n=/^\/\*\*?/;const s=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/;const c=/(^|\s+)\/\/([^\r\n]*)/g;const o=/^(\r?\n)+/;const i=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g;const a=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g;const u=/(\r?\n|^) *\* ?/g;const p=[];function extract(e){const t=e.match(s);return t?t[0].trimLeft():""}function strip(e){const t=e.match(s);return t&&t[0]?e.substring(t[0].length):e}function parse(e){return parseWithComments(e).pragmas}function parseWithComments(e){const r=(0,_detectNewline().default)(e)??_os().EOL;e=e.replace(n,"").replace(t,"").replace(u,"$1");let s="";while(s!==e){s=e;e=e.replace(i,`${r}$1 $2${r}`)}e=e.replace(o,"").trimRight();const _=Object.create(null);const l=e.replace(a,"").replace(o,"").trimRight();let f;while(f=a.exec(e)){const e=f[2].replace(c,"");if(typeof _[f[1]]==="string"||Array.isArray(_[f[1]])){_[f[1]]=p.concat(_[f[1]],e)}else{_[f[1]]=e}}return{comments:l,pragmas:_}}function print({comments:e="",pragmas:t={}}){const r=(0,_detectNewline().default)(e)??_os().EOL;const n="/**";const s=" *";const c=" */";const o=Object.keys(t);const i=o.map((e=>printKeyValues(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>`${s} ${e}${r}`)).join("");if(!e){if(o.length===0){return""}if(o.length===1&&!Array.isArray(t[o[0]])){const e=t[o[0]];return`${n} ${printKeyValues(o[0],e)[0]}${c}`}}const a=e.split(r).map((e=>`${s} ${e}`)).join(r)+r;return n+r+(e?a:"")+(e&&o.length?s+r:"")+i+c}function printKeyValues(e,t){return p.concat(t).map((t=>`@${e} ${t}`.trim()))}})();module.exports=r})(); \ No newline at end of file diff --git a/packages/next/src/compiled/jest-docblock/package.json b/packages/next/src/compiled/jest-docblock/package.json deleted file mode 100644 index 78bc406c0d040..0000000000000 --- a/packages/next/src/compiled/jest-docblock/package.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"jest-docblock","main":"index.js","license":"MIT"} diff --git a/packages/next/src/compiled/sass-loader/cjs.js b/packages/next/src/compiled/sass-loader/cjs.js index 558d97da1149a..f852edbe570a2 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},636: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__(955));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=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(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 d=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:d});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}},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")},921: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}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(601);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=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(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 d=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:d});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}},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}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/packages/next/taskfile.js b/packages/next/taskfile.js index 495da5ef09467..f38289c3d4984 100644 --- a/packages/next/taskfile.js +++ b/packages/next/taskfile.js @@ -2195,15 +2195,6 @@ export async function ncc_https_proxy_agent(task, opts) { .target('src/compiled/https-proxy-agent') } -// eslint-disable-next-line camelcase -externals['jest-docblock'] = 'next/dist/compiled/jest-docblock' -export async function ncc_jest_docblock(task, opts) { - await task - .source(relative(__dirname, require.resolve('jest-docblock'))) - .ncc({ packageName: 'jest-docblock', externals }) - .target('src/compiled/jest-docblock') -} - export async function precompile(task, opts) { await task.parallel( [ @@ -2338,7 +2329,6 @@ export async function ncc(task, opts) { 'ncc_opentelemetry_api', 'ncc_http_proxy_agent', 'ncc_https_proxy_agent', - 'ncc_jest_docblock', 'ncc_mini_css_extract_plugin', ], opts diff --git a/packages/next/types/misc.d.ts b/packages/next/types/misc.d.ts index e0f9735b2bca5..6767c2ee691a9 100644 --- a/packages/next/types/misc.d.ts +++ b/packages/next/types/misc.d.ts @@ -458,8 +458,3 @@ declare module 'next/dist/compiled/@opentelemetry/api' { import * as m from '@opentelemetry/api' export = m } - -declare module 'next/dist/compiled/jest-docblock' { - import m from 'jest-docblock' - export = m -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab7c83008d549..6bf482dbf9a72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1117,9 +1117,6 @@ importers: is-wsl: specifier: 2.2.0 version: 2.2.0 - jest-docblock: - specifier: 29.4.3 - version: 29.4.3 jest-worker: specifier: 27.0.0-next.5 version: 27.0.0-next.5 @@ -1233,7 +1230,7 @@ importers: version: 0.13.4 sass-loader: specifier: 12.4.0 - version: 12.4.0(sass@1.54.0)(webpack@5.86.0) + version: 12.4.0(webpack@5.86.0) schema-utils2: specifier: npm:schema-utils@2.7.1 version: /schema-utils@2.7.1 @@ -16282,13 +16279,6 @@ packages: detect-newline: 3.1.0 dev: true - /jest-docblock@29.4.3: - resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - /jest-each@27.5.1: resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -23245,7 +23235,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@12.4.0(sass@1.54.0)(webpack@5.86.0): + /sass-loader@12.4.0(webpack@5.86.0): resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -23263,7 +23253,6 @@ packages: dependencies: klona: 2.0.4 neo-async: 2.6.2 - sass: 1.54.0 webpack: 5.86.0(@swc/core@1.3.55) dev: true diff --git a/test/production/jest/server-only.test.ts b/test/production/jest/server-only.test.ts index 8cff3b170cfff..904ba30198dc6 100644 --- a/test/production/jest/server-only.test.ts +++ b/test/production/jest/server-only.test.ts @@ -8,10 +8,6 @@ describe('next/jest', () => { next = await createNext({ skipStart: true, files: { - 'app/page.jsx': `import { PI } from '../lib/util' - export default function Home() { - return

{PI}

- }`, 'app/layout.jsx': `export default function RootLayout({ children }) { return ( @@ -19,6 +15,12 @@ describe('next/jest', () => { ) }`, + + 'app/page.jsx': `import { PI } from '../lib/util' + export default function Home() { + return

{PI}

+ }`, + 'app/page.test.jsx': `import { render, screen } from '@testing-library/react' import '@testing-library/jest-dom' import Page from './page' @@ -27,13 +29,42 @@ describe('next/jest', () => { render() expect(screen.getByRole('heading')).toHaveTextContent('3.14') })`, - 'lib/util.js': `/** @jest-environment node */ + + 'app/[blog]/page.jsx': `import { Metadata } from 'next' + + export async function generateMetadata({ + params: { blog: title }, + }) { + return { title, description: 'A blog post about ' + title } + } + + export default function Page({ params }) { + return

All about {params.blog}

+ } + `, + + 'app/[blog]/page.test.jsx': `import { render, screen } from '@testing-library/react' + import '@testing-library/jest-dom' + import Page from './page' + + describe('Blog Page', () => { + it('has the appropriate title', () => { + render() + expect(screen.getByRole('heading')).toHaveTextContent('All about Jane') + }) + }) + `, + + 'lib/util.js': ` import 'server-only' export const PI = 3.14;`, - 'lib/utils.test.ts': `import { PI } from './util' + + 'lib/utils.test.ts': ` + import { PI } from './util' it('works from server-side code', () => { expect(PI).toEqual(3.14) })`, + 'jest.config.js': `module.exports = require('next/jest')({ dir: './' })({ testEnvironment: 'jsdom' })`, }, buildCommand: `yarn jest`, @@ -48,11 +79,11 @@ describe('next/jest', () => { afterAll(() => next.destroy()) - it('can run test against server side components', async () => { + it('can run test against server server only code', async () => { try { await next.start() } finally { - expect(next.cliOutput).toInclude('Tests: 2 passed, 2 total') + expect(next.cliOutput).toInclude('Tests: 3 passed, 3 total') } }) }) From a6415c62979db59fecc49086de8d7d241670f0dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Wed, 16 Aug 2023 11:05:04 +0200 Subject: [PATCH 02/21] chore: update lock bot wording (#54099) Follow-up of #54048. We changed the lock action from waiting 1 month to 2 weeks, but the wording was not reflecting it. --- .github/workflows/issue_lock.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue_lock.yml b/.github/workflows/issue_lock.yml index 32bb5494e23a7..f5107914384ac 100644 --- a/.github/workflows/issue_lock.yml +++ b/.github/workflows/issue_lock.yml @@ -24,6 +24,6 @@ jobs: add-issue-labels: 'locked' add-pr-labels: 'locked' issue-inactive-days: 14 - issue-comment: 'This closed issue has been automatically locked because it had no new activity for a month. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.' + issue-comment: 'This closed issue has been automatically locked because it had no new activity for 2 weeks. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.' pr-inactive-days: 14 log-output: true From d60690e2bd799707256fa99d4ee0c24a3f372e4e Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 16 Aug 2023 12:08:38 +0200 Subject: [PATCH 03/21] Update Docker example to remove HOSTNAME (#54102) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With the latest changes in stable Next.js setting HOSTNAME is not longer required for the image to function correctly 👍 Fixes #54093 --- examples/with-docker/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/with-docker/Dockerfile b/examples/with-docker/Dockerfile index 7c343cffed755..f68a80ab1ee6f 100644 --- a/examples/with-docker/Dockerfile +++ b/examples/with-docker/Dockerfile @@ -55,6 +55,5 @@ USER nextjs EXPOSE 3000 ENV PORT 3000 -ENV HOSTNAME localhost CMD ["node", "server.js"] From bc76784bcbe4debbf1fcbfbedaaccb11e53c3ef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Wed, 16 Aug 2023 22:07:57 +0900 Subject: [PATCH 04/21] Update `swc_core` to `v0.79.59` (#54082) ### What? Update swc crates to https://github.com/swc-project/swc/commit/023042dfb9c941e95f2fc0e1cd9b245d0cc64aa5 ### Why? To apply https://github.com/swc-project/swc/pull/7813 ### How? Closes WEB-1396 Fixes #54054 --- Cargo.lock | 96 +++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2a2c5afaa87df..c5f4c620eb031 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -539,9 +539,9 @@ dependencies = [ [[package]] name = "binding_macros" -version = "0.53.52" +version = "0.53.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03769a02fbae78c9eb429cec1089cd4ccf244f18cd3a616096245f6be377ac1" +checksum = "d16516c112c97b4f00605b3668a4a59be3c7b530af894eaa20f2213a5753869b" dependencies = [ "anyhow", "console_error_panic_hook", @@ -5623,9 +5623,9 @@ dependencies = [ [[package]] name = "swc" -version = "0.264.52" +version = "0.264.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee55e78284e616507c3155942c774a75f42555a6ff26c8ddc391336e145de9ea" +checksum = "3640a381deb436cd4663b42cbfb4acacbdbbad243372b18004c784d96f8fc1d9" dependencies = [ "ahash 0.8.3", "anyhow", @@ -5691,9 +5691,9 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.217.44" +version = "0.217.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be469258b6b2b5ce236facb1475bd6ed01fd3519275d91346b313180760b57c" +checksum = "d75d8e72f484e658f426b883ee26e44d37f35194b633819354964a10bc99099c" dependencies = [ "ahash 0.8.3", "anyhow", @@ -5797,9 +5797,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "0.79.55" +version = "0.79.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee3a56f867f2fc26c13a7b3b9ef050cf408bf02b67ec4dc3befa43f72da4b90" +checksum = "478993899f8721fb3d4ea171baf06ac934fbfadc61e6dbc6c66d3f62b01ce8d2" dependencies = [ "binding_macros", "swc", @@ -5994,9 +5994,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.142.10" +version = "0.142.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8f0cebff798cff972aec8c521fe1ed12fa6c33c65e8262b01cce88ec5d91d4" +checksum = "464b5760b58ae12de4859802efb3ead96a740c06a96b2bf9659367790f2374fd" dependencies = [ "memchr", "num-bigint", @@ -6026,9 +6026,9 @@ dependencies = [ [[package]] name = "swc_ecma_ext_transforms" -version = "0.106.13" +version = "0.106.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a119a834c5c994c6af2761b6cbf255163f2908ba2f929933143a23e184beb2b" +checksum = "39ab8f980ccc923b9c17ddae8080b1d962bf66e5920dcbe6d439f572f96e797b" dependencies = [ "phf", "swc_atoms", @@ -6040,9 +6040,9 @@ dependencies = [ [[package]] name = "swc_ecma_lints" -version = "0.85.17" +version = "0.85.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8243ab42cf97fb90e1c667a21ced8c9830046e35601c581cad7bfc57c1809fa1" +checksum = "cd923958e5478225b810bf9e5c70abd67c3d88f164f43eb85b2b3fd2d81d9cc4" dependencies = [ "ahash 0.8.3", "auto_impl", @@ -6083,9 +6083,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.184.44" +version = "0.184.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0328f57a5f5fa09de87a0b726a92a16b142c1f1889c56aeb0816f1fc37738763" +checksum = "733d3780f23f746895960efcc78d6648b8d0d599c442fbc893c6cc12668b0b1b" dependencies = [ "ahash 0.8.3", "arrayvec", @@ -6119,9 +6119,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.137.9" +version = "0.137.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57413a3865f5419d3fd563f60fc00eea2900911dd17ce284b284931a8cbefed4" +checksum = "c1f80d1df900264b5187fcf03aa56ccf11924e428421f559e818d2639b087d09" dependencies = [ "either", "num-bigint", @@ -6139,9 +6139,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.198.32" +version = "0.198.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a137c955a99aafd2be3aef58ba68e02222d96364f7a3f99dda02f1557a45a2e" +checksum = "2e2b73b05ea9dfbbbc8231a8c16a25f9a6b73d4e2c69afb21bda5a35e1d269e4" dependencies = [ "ahash 0.8.3", "anyhow", @@ -6165,9 +6165,9 @@ dependencies = [ [[package]] name = "swc_ecma_quote_macros" -version = "0.48.9" +version = "0.48.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b13709f2df9fdc8c62b2c099caa96b4d09fd10c99b9de9a47aeb9147ad936bc" +checksum = "ac667a84c4a88002f9e7c06566d1f846561b27891c82b0486d068752860da155" dependencies = [ "anyhow", "pmutil", @@ -6196,9 +6196,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.221.30" +version = "0.221.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1fa03407af8c2bc6541aea9b62022f318b2d7f7c282e782f5398868d3948a5f" +checksum = "d2e33b7da6d3f98189b567c9b94b0626fed228fca7176a30134d12da4cabeda1" dependencies = [ "swc_atoms", "swc_common", @@ -6216,9 +6216,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.130.17" +version = "0.130.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1e31151d6637965e3538b3d6e3c8b2263c6650b09e68baa93e0ebd1985d98e7" +checksum = "43664f6ba532c7e41b552c878ecd7d28735904f24ca64f06abf6e20380821f9c" dependencies = [ "better_scoped_tls", "bitflags 2.3.3", @@ -6240,9 +6240,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.119.17" +version = "0.119.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de70d9cedf6e0562cce97da5522fbc994dbe5b3a4c9e6100799d6adb77895276" +checksum = "587685226834c8fe16a390d06e67ee2a6d5fc798a412416482b805b75887695d" dependencies = [ "swc_atoms", "swc_common", @@ -6254,9 +6254,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.156.24" +version = "0.156.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "785792dbb7a4a38dd4c3e3a48cdbf3a2a1fabad0c1b7cfd7367bd0d595481b8b" +checksum = "5082d4d782cb3336c6a1b7478b9db046a38863fe8084d75ccef6deda05ef2152" dependencies = [ "ahash 0.8.3", "arrayvec", @@ -6294,9 +6294,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.173.28" +version = "0.173.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31044586c55420a2e45324c12a3d2015c8553c4217da9c98d14883a73e569253" +checksum = "9209f82a9b171a106de5c8a372bf7a0f39e7be8208f345322d755530d8b78762" dependencies = [ "Inflector", "ahash 0.8.3", @@ -6322,9 +6322,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.190.30" +version = "0.190.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b1cb99f9f8f52e61557a169c5353e09c193e95b9134d1cad6d85fbebf150d0" +checksum = "9e0731c1ea271f436f311167c98a600a86e60e814df21bdb830d0a0ee6545962" dependencies = [ "ahash 0.8.3", "dashmap", @@ -6348,9 +6348,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.164.24" +version = "0.164.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11c9f454d65b9f2ede548788dd3578d7848488be391bcf0660725a55a018a6ac" +checksum = "4f8ac16e9c0e6d23d948946f06e1ce4e323ad8d10fc92c061414e785a55ac079" dependencies = [ "either", "rustc-hash", @@ -6368,9 +6368,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.176.28" +version = "0.176.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60beed5b1334dc51ec9307429d12510f0b182c9c3d9307b21bc8444aca8e78c9" +checksum = "99406fef0faa742319e8ca6779d1163857b4c04826bdba98840428b5627261c3" dependencies = [ "ahash 0.8.3", "base64 0.13.1", @@ -6394,9 +6394,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "0.133.17" +version = "0.133.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d166cc3a72ce892cafc25ee9f1f27edc0785125980bac4e7fc4aad31f2b4432" +checksum = "a0117f13ae2a39c704385429fc53bd14f535caa9311416be2a619de807d8a24c" dependencies = [ "ansi_term", "anyhow", @@ -6420,9 +6420,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.180.29" +version = "0.180.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08e70b8deabd5f9a4425fa0c2e2fb60e3f15a40eedac2fecb45f35c89c2f9d32" +checksum = "56f835b69cef35ef88afe5cb296e911f252cf0a5b8df4abb7de09eb30acd6664" dependencies = [ "serde", "swc_atoms", @@ -6436,9 +6436,9 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "0.16.17" +version = "0.16.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7810fba16970a3fe8a537afb81590d0023b85612fbf66aea4b62a0e1a99a14e7" +checksum = "1148f22869265abb7d492aa11829b7d240170b2c0d387db1feba72d8e61e5128" dependencies = [ "ahash 0.8.3", "indexmap 1.9.3", @@ -6454,9 +6454,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.120.13" +version = "0.120.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e8a73a5d66c20ed9105e5ee2bbbcfccef9d3b2b72ed2d45db3e540fccddf7b6" +checksum = "43549d81f9dda15afce48d81a0b2c3191fe462da00560abdfa72e004e261f903" dependencies = [ "indexmap 1.9.3", "num_cpus", @@ -6608,9 +6608,9 @@ dependencies = [ [[package]] name = "swc_plugin_runner" -version = "0.98.11" +version = "0.98.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc9b862888ed8f85b7c553eab4c4dc1b351cd90b98822935580298a5427057" +checksum = "a00b66dfba569b1b7b7124e2efbac723dcf82a98997985d3aa54117ff543f2cb" dependencies = [ "anyhow", "enumset", diff --git a/Cargo.toml b/Cargo.toml index 63ff4bf640309..5a4dcd5aa10b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ next-transform-strip-page-exports = { path = "packages/next-swc/crates/next-tran # SWC crates # Keep consistent with preset_env_base through swc_core -swc_core = { version = "0.79.55" } +swc_core = { version = "0.79.59" } testing = { version = "0.33.21" } # Turbo crates From b676fce090d21c5b0325d13b759ae9c26ee33f09 Mon Sep 17 00:00:00 2001 From: Kiko Beats Date: Wed, 16 Aug 2023 15:57:01 +0200 Subject: [PATCH 05/21] upgrade edge-runtime dependency (#54117) Hello, This PR upgrades `edge-runtime` and associated packages, mostly fixing issues. --- package.json | 2 +- packages/next/package.json | 6 +- .../compiled/@edge-runtime/cookies/index.d.ts | 24 ++- .../compiled/@edge-runtime/cookies/index.js | 141 ++++++++++-------- .../@edge-runtime/cookies/package.json | 2 +- .../primitives/abort-controller.js.text.js | 2 +- .../@edge-runtime/primitives/blob.js.text.js | 2 +- .../primitives/crypto.js.text.js | 2 +- .../primitives/events.js.text.js | 2 +- .../@edge-runtime/primitives/fetch.js.text.js | 2 +- .../@edge-runtime/primitives/package.json | 2 +- .../primitives/streams.js.text.js | 2 +- .../text-encoding-streams.js.text.js | 2 +- .../@edge-runtime/primitives/url.js.text.js | 2 +- .../next/src/compiled/edge-runtime/index.js | 2 +- packages/next/src/compiled/sass-loader/cjs.js | 2 +- pnpm-lock.yaml | 69 ++++----- 17 files changed, 143 insertions(+), 123 deletions(-) diff --git a/package.json b/package.json index 289f85bba772f..2b31d94d607b8 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "@babel/plugin-proposal-object-rest-spread": "7.14.7", "@babel/preset-flow": "7.14.5", "@babel/preset-react": "7.14.5", - "@edge-runtime/jest-environment": "2.2.1", + "@edge-runtime/jest-environment": "2.2.5", "@fullhuman/postcss-purgecss": "1.3.0", "@mdx-js/loader": "2.2.1", "@mdx-js/react": "2.2.1", diff --git a/packages/next/package.json b/packages/next/package.json index f1d434086a905..cfde9ee6a46f6 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -135,9 +135,9 @@ "@babel/traverse": "7.18.0", "@babel/types": "7.18.0", "@capsizecss/metrics": "1.1.0", - "@edge-runtime/cookies": "3.2.1", + "@edge-runtime/cookies": "3.3.0", "@edge-runtime/ponyfill": "2.3.0", - "@edge-runtime/primitives": "3.0.1", + "@edge-runtime/primitives": "3.0.4", "@hapi/accept": "5.0.2", "@jest/transform": "29.5.0", "@jest/types": "29.5.0", @@ -225,7 +225,7 @@ "debug": "4.1.1", "devalue": "2.0.1", "domain-browser": "4.19.0", - "edge-runtime": "2.4.4", + "edge-runtime": "2.4.5", "events": "3.3.0", "find-cache-dir": "3.3.1", "find-up": "4.1.0", diff --git a/packages/next/src/compiled/@edge-runtime/cookies/index.d.ts b/packages/next/src/compiled/@edge-runtime/cookies/index.d.ts index 62ad6ed27ace0..a6b05426e2ef7 100644 --- a/packages/next/src/compiled/@edge-runtime/cookies/index.d.ts +++ b/packages/next/src/compiled/@edge-runtime/cookies/index.d.ts @@ -175,6 +175,7 @@ declare class ResponseCookies { * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise. */ getAll(...args: [key: string] | [options: ResponseCookie] | []): ResponseCookie[]; + has(name: string): boolean; /** * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise. */ @@ -182,8 +183,27 @@ declare class ResponseCookies { /** * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise. */ - delete(...args: [key: string] | [options: ResponseCookie]): this; + delete(...args: [key: string] | [options: Omit]): this; toString(): string; } -export { CookieListItem, RequestCookie, RequestCookies, ResponseCookie, ResponseCookies }; +declare function stringifyCookie(c: ResponseCookie | RequestCookie): string; +/** Parse a `Cookie` header value */ +declare function parseCookie(cookie: string): Map; +/** Parse a `Set-Cookie` header value */ +declare function parseSetCookie(setCookie: string): undefined | ResponseCookie; +/** + * @source https://github.com/nfriedly/set-cookie-parser/blob/master/lib/set-cookie.js + * + * Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas + * that are within a single set-cookie field-value, such as in the Expires portion. + * This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2 + * Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128 + * React Native's fetch does this for *every* header, including set-cookie. + * + * Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25 + * Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation + */ +declare function splitCookiesString(cookiesString: string): string[]; + +export { CookieListItem, RequestCookie, RequestCookies, ResponseCookie, ResponseCookies, parseCookie, parseSetCookie, splitCookiesString, stringifyCookie }; diff --git a/packages/next/src/compiled/@edge-runtime/cookies/index.js b/packages/next/src/compiled/@edge-runtime/cookies/index.js index 9e4fe6dce99ba..97027196fa3ff 100644 --- a/packages/next/src/compiled/@edge-runtime/cookies/index.js +++ b/packages/next/src/compiled/@edge-runtime/cookies/index.js @@ -21,12 +21,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru var src_exports = {}; __export(src_exports, { RequestCookies: () => RequestCookies, - ResponseCookies: () => ResponseCookies + ResponseCookies: () => ResponseCookies, + parseCookie: () => parseCookie, + parseSetCookie: () => parseSetCookie, + splitCookiesString: () => splitCookiesString, + stringifyCookie: () => stringifyCookie }); module.exports = __toCommonJS(src_exports); // src/serialize.ts -function serialize(c) { +function stringifyCookie(c) { var _a; const attrs = [ "path" in c && c.path && `Path=${c.path}`, @@ -39,7 +43,7 @@ function serialize(c) { ].filter(Boolean); return `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}; ${attrs.join("; ")}`; } -function parseCookieString(cookie) { +function parseCookie(cookie) { const map = /* @__PURE__ */ new Map(); for (const pair of cookie.split(/; */)) { if (!pair) @@ -57,11 +61,11 @@ function parseCookieString(cookie) { } return map; } -function parseSetCookieString(setCookie) { +function parseSetCookie(setCookie) { if (!setCookie) { return void 0; } - const [[name, value], ...attributes] = parseCookieString(setCookie); + const [[name, value], ...attributes] = parseCookie(setCookie); const { domain, expires, httponly, maxage, path, samesite, secure } = Object.fromEntries( attributes.map(([key, value2]) => [key.toLowerCase(), value2]) ); @@ -92,6 +96,57 @@ function parseSameSite(string) { string = string.toLowerCase(); return SAME_SITE.includes(string) ? string : void 0; } +function splitCookiesString(cookiesString) { + if (!cookiesString) + return []; + var cookiesStrings = []; + var pos = 0; + var start; + var ch; + var lastComma; + var nextStart; + var cookiesSeparatorFound; + function skipWhitespace() { + while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { + pos += 1; + } + return pos < cookiesString.length; + } + function notSpecialChar() { + ch = cookiesString.charAt(pos); + return ch !== "=" && ch !== ";" && ch !== ","; + } + while (pos < cookiesString.length) { + start = pos; + cookiesSeparatorFound = false; + while (skipWhitespace()) { + ch = cookiesString.charAt(pos); + if (ch === ",") { + lastComma = pos; + pos += 1; + skipWhitespace(); + nextStart = pos; + while (pos < cookiesString.length && notSpecialChar()) { + pos += 1; + } + if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { + cookiesSeparatorFound = true; + pos = nextStart; + cookiesStrings.push(cookiesString.substring(start, lastComma)); + start = pos; + } else { + pos = lastComma + 1; + } + } else { + pos += 1; + } + } + if (!cookiesSeparatorFound || pos >= cookiesString.length) { + cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); + } + } + return cookiesStrings; +} // src/request-cookies.ts var RequestCookies = class { @@ -101,7 +156,7 @@ var RequestCookies = class { this._headers = requestHeaders; const header = requestHeaders.get("cookie"); if (header) { - const parsed = parseCookieString(header); + const parsed = parseCookie(header); for (const [name, value] of parsed) { this._parsed.set(name, { name, value }); } @@ -138,7 +193,7 @@ var RequestCookies = class { map.set(name, { name, value }); this._headers.set( "cookie", - Array.from(map).map(([_, value2]) => serialize(value2)).join("; ") + Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join("; ") ); return this; } @@ -150,7 +205,7 @@ var RequestCookies = class { const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name)); this._headers.set( "cookie", - Array.from(map).map(([_, value]) => serialize(value)).join("; ") + Array.from(map).map(([_, value]) => stringifyCookie(value)).join("; ") ); return result; } @@ -185,7 +240,7 @@ var ResponseCookies = class { ); const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie); for (const cookieString of cookieStrings) { - const parsed = parseSetCookieString(cookieString); + const parsed = parseSetCookie(cookieString); if (parsed) this._parsed.set(parsed.name, parsed); } @@ -209,6 +264,9 @@ var ResponseCookies = class { const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name; return all.filter((c) => c.name === key); } + has(name) { + return this._parsed.has(name); + } /** * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise. */ @@ -223,20 +281,20 @@ var ResponseCookies = class { * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise. */ delete(...args) { - const name = typeof args[0] === "string" ? args[0] : args[0].name; - return this.set({ name, value: "", expires: /* @__PURE__ */ new Date(0) }); + const [name, path, domain] = typeof args[0] === "string" ? [args[0]] : [args[0].name, args[0].path, args[0].domain]; + return this.set({ name, path, domain, value: "", expires: /* @__PURE__ */ new Date(0) }); } [Symbol.for("edge-runtime.inspect.custom")]() { return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; } toString() { - return [...this._parsed.values()].map(serialize).join("; "); + return [...this._parsed.values()].map(stringifyCookie).join("; "); } }; function replace(bag, headers) { headers.delete("set-cookie"); for (const [, value] of bag) { - const serialized = serialize(value); + const serialized = stringifyCookie(value); headers.append("set-cookie", serialized); } } @@ -252,59 +310,12 @@ function normalizeCookie(cookie = { name: "", value: "" }) { } return cookie; } -function splitCookiesString(cookiesString) { - if (!cookiesString) - return []; - var cookiesStrings = []; - var pos = 0; - var start; - var ch; - var lastComma; - var nextStart; - var cookiesSeparatorFound; - function skipWhitespace() { - while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { - pos += 1; - } - return pos < cookiesString.length; - } - function notSpecialChar() { - ch = cookiesString.charAt(pos); - return ch !== "=" && ch !== ";" && ch !== ","; - } - while (pos < cookiesString.length) { - start = pos; - cookiesSeparatorFound = false; - while (skipWhitespace()) { - ch = cookiesString.charAt(pos); - if (ch === ",") { - lastComma = pos; - pos += 1; - skipWhitespace(); - nextStart = pos; - while (pos < cookiesString.length && notSpecialChar()) { - pos += 1; - } - if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { - cookiesSeparatorFound = true; - pos = nextStart; - cookiesStrings.push(cookiesString.substring(start, lastComma)); - start = pos; - } else { - pos = lastComma + 1; - } - } else { - pos += 1; - } - } - if (!cookiesSeparatorFound || pos >= cookiesString.length) { - cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); - } - } - return cookiesStrings; -} // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { RequestCookies, - ResponseCookies + ResponseCookies, + parseCookie, + parseSetCookie, + splitCookiesString, + stringifyCookie }); diff --git a/packages/next/src/compiled/@edge-runtime/cookies/package.json b/packages/next/src/compiled/@edge-runtime/cookies/package.json index d7b3606b9d0e3..ddc6b740d07f9 100644 --- a/packages/next/src/compiled/@edge-runtime/cookies/package.json +++ b/packages/next/src/compiled/@edge-runtime/cookies/package.json @@ -1 +1 @@ -{"name":"@edge-runtime/cookies","version":"3.2.1","main":"./index.js","license":"MPL-2.0"} +{"name":"@edge-runtime/cookies","version":"3.3.0","main":"./index.js","license":"MPL-2.0"} diff --git a/packages/next/src/compiled/@edge-runtime/primitives/abort-controller.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/abort-controller.js.text.js index 3c254b1b23725..325687a4802bf 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/abort-controller.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/abort-controller.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 _DOMException 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\");\nvar 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 _AbortController {\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 AbortController = _AbortController;\nvar _AbortSignal = class _AbortSignal 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\");\nvar AbortSignal = _AbortSignal;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/blob.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/blob.js.text.js index f5e5437ce2f84..db9098fad8037 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/blob.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/blob.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 \"use strict\";\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" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/crypto.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/crypto.js.text.js index 7eb71e3239cbe..8b03e35691aa8 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/crypto.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/crypto.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 _BufferSourceConverter {\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 BufferSourceConverter = _BufferSourceConverter;\nvar _Utf8Converter = class _Utf8Converter {\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 Utf8Converter = _Utf8Converter;\nvar _Utf16Converter = class _Utf16Converter {\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 Utf16Converter = _Utf16Converter;\nvar _Convert = class _Convert {\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\");\nvar 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 _ViewWriter {\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 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 _a8;\n var _a7;\n return _a7 = (_a8 = class extends BaseClass {\n constructor(...args) {\n var _a9;\n super(...args);\n const params = args[0] || {};\n this.isHexOnly = (_a9 = params.isHexOnly) !== null && _a9 !== void 0 ? _a9 : 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 }, __name(_a8, \"Some\"), _a8), _a7.NAME = \"hexBlock\", _a7;\n}\n__name(HexBlock, \"HexBlock\");\nvar _LocalBaseBlock = class _LocalBaseBlock {\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\");\nvar LocalBaseBlock = _LocalBaseBlock;\nLocalBaseBlock.NAME = \"baseBlock\";\nvar _ValueBlock = class _ValueBlock 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\");\nvar ValueBlock = _ValueBlock;\nValueBlock.NAME = \"valueBlock\";\nvar _LocalIdentificationBlock = class _LocalIdentificationBlock extends HexBlock(LocalBaseBlock) {\n constructor({ idBlock = {} } = {}) {\n var _a7, _b, _c, _d;\n super();\n if (idBlock) {\n this.isHexOnly = (_a7 = idBlock.isHexOnly) !== null && _a7 !== void 0 ? _a7 : 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\");\nvar LocalIdentificationBlock = _LocalIdentificationBlock;\nLocalIdentificationBlock.NAME = \"identificationBlock\";\nvar _LocalLengthBlock = class _LocalLengthBlock extends LocalBaseBlock {\n constructor({ lenBlock = {} } = {}) {\n var _a7, _b, _c;\n super();\n this.isIndefiniteForm = (_a7 = lenBlock.isIndefiniteForm) !== null && _a7 !== void 0 ? _a7 : 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\");\nvar LocalLengthBlock = _LocalLengthBlock;\nLocalLengthBlock.NAME = \"lengthBlock\";\nvar typeStore = {};\nvar _BaseBlock = class _BaseBlock 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\");\nvar 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 _BaseStringBlock 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\");\nvar BaseStringBlock = _BaseStringBlock;\nBaseStringBlock.NAME = \"BaseStringBlock\";\nvar _LocalPrimitiveValueBlock = class _LocalPrimitiveValueBlock extends HexBlock(ValueBlock) {\n constructor({ isHexOnly = true, ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = isHexOnly;\n }\n};\n__name(_LocalPrimitiveValueBlock, \"LocalPrimitiveValueBlock\");\nvar LocalPrimitiveValueBlock = _LocalPrimitiveValueBlock;\nLocalPrimitiveValueBlock.NAME = \"PrimitiveValueBlock\";\nvar _a$w;\nvar _Primitive = class _Primitive extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalPrimitiveValueBlock);\n this.idBlock.isConstructed = false;\n }\n};\n__name(_Primitive, \"Primitive\");\nvar 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 _LocalConstructedValueBlock 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\");\nvar LocalConstructedValueBlock = _LocalConstructedValueBlock;\nLocalConstructedValueBlock.NAME = \"ConstructedValueBlock\";\nvar _a$v;\nvar _Constructed = class _Constructed 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\");\nvar Constructed = _Constructed;\n_a$v = Constructed;\n(() => {\n typeStore.Constructed = _a$v;\n})();\nConstructed.NAME = \"CONSTRUCTED\";\nvar _LocalEndOfContentValueBlock = class _LocalEndOfContentValueBlock extends ValueBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n return inputOffset;\n }\n toBER(sizeOnly) {\n return EMPTY_BUFFER;\n }\n};\n__name(_LocalEndOfContentValueBlock, \"LocalEndOfContentValueBlock\");\nvar LocalEndOfContentValueBlock = _LocalEndOfContentValueBlock;\nLocalEndOfContentValueBlock.override = \"EndOfContentValueBlock\";\nvar _a$u;\nvar _EndOfContent = class _EndOfContent 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\");\nvar 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 _Null 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\");\nvar Null = _Null;\n_a$t = Null;\n(() => {\n typeStore.Null = _a$t;\n})();\nNull.NAME = \"NULL\";\nvar _LocalBooleanValueBlock = class _LocalBooleanValueBlock 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\");\nvar LocalBooleanValueBlock = _LocalBooleanValueBlock;\nLocalBooleanValueBlock.NAME = \"BooleanValueBlock\";\nvar _a$s;\nvar _Boolean = class _Boolean 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\");\nvar Boolean = _Boolean;\n_a$s = Boolean;\n(() => {\n typeStore.Boolean = _a$s;\n})();\nBoolean.NAME = \"BOOLEAN\";\nvar _LocalOctetStringValueBlock = class _LocalOctetStringValueBlock 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\");\nvar LocalOctetStringValueBlock = _LocalOctetStringValueBlock;\nLocalOctetStringValueBlock.NAME = \"OctetStringValueBlock\";\nvar _a$r;\nvar _OctetString = class _OctetString 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\");\nvar OctetString = _OctetString;\n_a$r = OctetString;\n(() => {\n typeStore.OctetString = _a$r;\n})();\nOctetString.NAME = OCTET_STRING_NAME;\nvar _LocalBitStringValueBlock = class _LocalBitStringValueBlock 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\");\nvar LocalBitStringValueBlock = _LocalBitStringValueBlock;\nLocalBitStringValueBlock.NAME = \"BitStringValueBlock\";\nvar _a$q;\nvar _BitString = class _BitString 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\");\nvar 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 _LocalIntegerValueBlock 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\");\nvar 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 _Integer 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\");\nvar Integer = _Integer;\n_a$o = Integer;\n(() => {\n typeStore.Integer = _a$o;\n})();\nInteger.NAME = \"INTEGER\";\nvar _a$n;\nvar _Enumerated = class _Enumerated extends Integer {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 10;\n }\n};\n__name(_Enumerated, \"Enumerated\");\nvar Enumerated = _Enumerated;\n_a$n = Enumerated;\n(() => {\n typeStore.Enumerated = _a$n;\n})();\nEnumerated.NAME = \"ENUMERATED\";\nvar _LocalSidValueBlock = class _LocalSidValueBlock 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\");\nvar LocalSidValueBlock = _LocalSidValueBlock;\nLocalSidValueBlock.NAME = \"sidBlock\";\nvar _LocalObjectIdentifierValueBlock = class _LocalObjectIdentifierValueBlock 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\");\nvar LocalObjectIdentifierValueBlock = _LocalObjectIdentifierValueBlock;\nLocalObjectIdentifierValueBlock.NAME = \"ObjectIdentifierValueBlock\";\nvar _a$m;\nvar _ObjectIdentifier = class _ObjectIdentifier 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\");\nvar ObjectIdentifier = _ObjectIdentifier;\n_a$m = ObjectIdentifier;\n(() => {\n typeStore.ObjectIdentifier = _a$m;\n})();\nObjectIdentifier.NAME = \"OBJECT IDENTIFIER\";\nvar _LocalRelativeSidValueBlock = class _LocalRelativeSidValueBlock 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\");\nvar LocalRelativeSidValueBlock = _LocalRelativeSidValueBlock;\nLocalRelativeSidValueBlock.NAME = \"relativeSidBlock\";\nvar _LocalRelativeObjectIdentifierValueBlock = class _LocalRelativeObjectIdentifierValueBlock 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\");\nvar LocalRelativeObjectIdentifierValueBlock = _LocalRelativeObjectIdentifierValueBlock;\nLocalRelativeObjectIdentifierValueBlock.NAME = \"RelativeObjectIdentifierValueBlock\";\nvar _a$l;\nvar _RelativeObjectIdentifier = class _RelativeObjectIdentifier 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\");\nvar RelativeObjectIdentifier = _RelativeObjectIdentifier;\n_a$l = RelativeObjectIdentifier;\n(() => {\n typeStore.RelativeObjectIdentifier = _a$l;\n})();\nRelativeObjectIdentifier.NAME = \"RelativeObjectIdentifier\";\nvar _a$k;\nvar _Sequence = class _Sequence extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 16;\n }\n};\n__name(_Sequence, \"Sequence\");\nvar Sequence = _Sequence;\n_a$k = Sequence;\n(() => {\n typeStore.Sequence = _a$k;\n})();\nSequence.NAME = \"SEQUENCE\";\nvar _a$j;\nvar _Set = class _Set extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 17;\n }\n};\n__name(_Set, \"Set\");\nvar Set = _Set;\n_a$j = Set;\n(() => {\n typeStore.Set = _a$j;\n})();\nSet.NAME = \"SET\";\nvar _LocalStringValueBlock = class _LocalStringValueBlock 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\");\nvar LocalStringValueBlock = _LocalStringValueBlock;\nLocalStringValueBlock.NAME = \"StringValueBlock\";\nvar _LocalSimpleStringValueBlock = class _LocalSimpleStringValueBlock extends LocalStringValueBlock {\n};\n__name(_LocalSimpleStringValueBlock, \"LocalSimpleStringValueBlock\");\nvar LocalSimpleStringValueBlock = _LocalSimpleStringValueBlock;\nLocalSimpleStringValueBlock.NAME = \"SimpleStringValueBlock\";\nvar _LocalSimpleStringBlock = class _LocalSimpleStringBlock 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\");\nvar LocalSimpleStringBlock = _LocalSimpleStringBlock;\nLocalSimpleStringBlock.NAME = \"SIMPLE STRING\";\nvar _LocalUtf8StringValueBlock = class _LocalUtf8StringValueBlock 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\");\nvar LocalUtf8StringValueBlock = _LocalUtf8StringValueBlock;\nLocalUtf8StringValueBlock.NAME = \"Utf8StringValueBlock\";\nvar _a$i;\nvar _Utf8String = class _Utf8String extends LocalUtf8StringValueBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 12;\n }\n};\n__name(_Utf8String, \"Utf8String\");\nvar Utf8String = _Utf8String;\n_a$i = Utf8String;\n(() => {\n typeStore.Utf8String = _a$i;\n})();\nUtf8String.NAME = \"UTF8String\";\nvar _LocalBmpStringValueBlock = class _LocalBmpStringValueBlock 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\");\nvar LocalBmpStringValueBlock = _LocalBmpStringValueBlock;\nLocalBmpStringValueBlock.NAME = \"BmpStringValueBlock\";\nvar _a$h;\nvar _BmpString = class _BmpString extends LocalBmpStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 30;\n }\n};\n__name(_BmpString, \"BmpString\");\nvar BmpString = _BmpString;\n_a$h = BmpString;\n(() => {\n typeStore.BmpString = _a$h;\n})();\nBmpString.NAME = \"BMPString\";\nvar _LocalUniversalStringValueBlock = class _LocalUniversalStringValueBlock 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\");\nvar LocalUniversalStringValueBlock = _LocalUniversalStringValueBlock;\nLocalUniversalStringValueBlock.NAME = \"UniversalStringValueBlock\";\nvar _a$g;\nvar _UniversalString = class _UniversalString extends LocalUniversalStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 28;\n }\n};\n__name(_UniversalString, \"UniversalString\");\nvar UniversalString = _UniversalString;\n_a$g = UniversalString;\n(() => {\n typeStore.UniversalString = _a$g;\n})();\nUniversalString.NAME = \"UniversalString\";\nvar _a$f;\nvar _NumericString = class _NumericString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 18;\n }\n};\n__name(_NumericString, \"NumericString\");\nvar NumericString = _NumericString;\n_a$f = NumericString;\n(() => {\n typeStore.NumericString = _a$f;\n})();\nNumericString.NAME = \"NumericString\";\nvar _a$e;\nvar _PrintableString = class _PrintableString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 19;\n }\n};\n__name(_PrintableString, \"PrintableString\");\nvar PrintableString = _PrintableString;\n_a$e = PrintableString;\n(() => {\n typeStore.PrintableString = _a$e;\n})();\nPrintableString.NAME = \"PrintableString\";\nvar _a$d;\nvar _TeletexString = class _TeletexString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 20;\n }\n};\n__name(_TeletexString, \"TeletexString\");\nvar TeletexString = _TeletexString;\n_a$d = TeletexString;\n(() => {\n typeStore.TeletexString = _a$d;\n})();\nTeletexString.NAME = \"TeletexString\";\nvar _a$c;\nvar _VideotexString = class _VideotexString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 21;\n }\n};\n__name(_VideotexString, \"VideotexString\");\nvar VideotexString = _VideotexString;\n_a$c = VideotexString;\n(() => {\n typeStore.VideotexString = _a$c;\n})();\nVideotexString.NAME = \"VideotexString\";\nvar _a$b;\nvar _IA5String = class _IA5String extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 22;\n }\n};\n__name(_IA5String, \"IA5String\");\nvar IA5String = _IA5String;\n_a$b = IA5String;\n(() => {\n typeStore.IA5String = _a$b;\n})();\nIA5String.NAME = \"IA5String\";\nvar _a$a;\nvar _GraphicString = class _GraphicString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 25;\n }\n};\n__name(_GraphicString, \"GraphicString\");\nvar GraphicString = _GraphicString;\n_a$a = GraphicString;\n(() => {\n typeStore.GraphicString = _a$a;\n})();\nGraphicString.NAME = \"GraphicString\";\nvar _a$9;\nvar _VisibleString = class _VisibleString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 26;\n }\n};\n__name(_VisibleString, \"VisibleString\");\nvar VisibleString = _VisibleString;\n_a$9 = VisibleString;\n(() => {\n typeStore.VisibleString = _a$9;\n})();\nVisibleString.NAME = \"VisibleString\";\nvar _a$8;\nvar _GeneralString = class _GeneralString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 27;\n }\n};\n__name(_GeneralString, \"GeneralString\");\nvar GeneralString = _GeneralString;\n_a$8 = GeneralString;\n(() => {\n typeStore.GeneralString = _a$8;\n})();\nGeneralString.NAME = \"GeneralString\";\nvar _a$7;\nvar _CharacterString = class _CharacterString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 29;\n }\n};\n__name(_CharacterString, \"CharacterString\");\nvar CharacterString = _CharacterString;\n_a$7 = CharacterString;\n(() => {\n typeStore.CharacterString = _a$7;\n})();\nCharacterString.NAME = \"CharacterString\";\nvar _a$6;\nvar _UTCTime = class _UTCTime 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\");\nvar UTCTime = _UTCTime;\n_a$6 = UTCTime;\n(() => {\n typeStore.UTCTime = _a$6;\n})();\nUTCTime.NAME = \"UTCTime\";\nvar _a$5;\nvar _GeneralizedTime = class _GeneralizedTime 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\");\nvar GeneralizedTime = _GeneralizedTime;\n_a$5 = GeneralizedTime;\n(() => {\n typeStore.GeneralizedTime = _a$5;\n})();\nGeneralizedTime.NAME = \"GeneralizedTime\";\nvar _a$4;\nvar _DATE = class _DATE extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 31;\n }\n};\n__name(_DATE, \"DATE\");\nvar DATE = _DATE;\n_a$4 = DATE;\n(() => {\n typeStore.DATE = _a$4;\n})();\nDATE.NAME = \"DATE\";\nvar _a$3;\nvar _TimeOfDay = class _TimeOfDay extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 32;\n }\n};\n__name(_TimeOfDay, \"TimeOfDay\");\nvar TimeOfDay = _TimeOfDay;\n_a$3 = TimeOfDay;\n(() => {\n typeStore.TimeOfDay = _a$3;\n})();\nTimeOfDay.NAME = \"TimeOfDay\";\nvar _a$2;\nvar _DateTime = class _DateTime extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 33;\n }\n};\n__name(_DateTime, \"DateTime\");\nvar DateTime = _DateTime;\n_a$2 = DateTime;\n(() => {\n typeStore.DateTime = _a$2;\n})();\nDateTime.NAME = \"DateTime\";\nvar _a$1;\nvar _Duration = class _Duration extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 34;\n }\n};\n__name(_Duration, \"Duration\");\nvar Duration = _Duration;\n_a$1 = Duration;\n(() => {\n typeStore.Duration = _a$1;\n})();\nDuration.NAME = \"Duration\";\nvar _a;\nvar _TIME = class _TIME extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 14;\n }\n};\n__name(_TIME, \"TIME\");\nvar TIME = _TIME;\n_a = TIME;\n(() => {\n typeStore.TIME = _a;\n})();\nTIME.NAME = \"TIME\";\nvar _Any = class _Any {\n constructor({ name = EMPTY_STRING, optional = false } = {}) {\n this.name = name;\n this.optional = optional;\n }\n};\n__name(_Any, \"Any\");\nvar Any = _Any;\nvar _Choice = class _Choice extends Any {\n constructor({ value = [], ...parameters } = {}) {\n super(parameters);\n this.value = value;\n }\n};\n__name(_Choice, \"Choice\");\nvar Choice = _Choice;\nvar _Repeated = class _Repeated 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 Repeated = _Repeated;\nvar _RawData = class _RawData {\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\");\nvar 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 _a7;\n if (target) {\n const proto = Object.getPrototypeOf(target);\n if (((_a7 = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a7 === void 0 ? void 0 : _a7.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 _AsnSchemaStorage {\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\");\nvar 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 _AsnSchemaValidationError extends Error {\n constructor() {\n super(...arguments);\n this.schemas = [];\n }\n};\n__name(_AsnSchemaValidationError, \"AsnSchemaValidationError\");\nvar 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 _AsnParser {\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 _a7;\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 = (_a7 = schemaItem.converter) !== null && _a7 !== void 0 ? _a7 : 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\");\nvar 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 _AsnSerializer {\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\");\nvar 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 _AsnConvert {\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\");\nvar 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 _JsonError 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 JsonError = _JsonError;\nvar _TransformError = class _TransformError extends JsonError {\n constructor(schema, message, innerError) {\n super(message, innerError);\n this.schema = schema;\n }\n};\n__name(_TransformError, \"TransformError\");\nvar TransformError = _TransformError;\nvar _ParserError = class _ParserError 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 ParserError = _ParserError;\nvar _ValidationError = class _ValidationError extends JsonError {\n};\n__name(_ValidationError, \"ValidationError\");\nvar ValidationError = _ValidationError;\nvar _SerializerError = class _SerializerError 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 SerializerError = _SerializerError;\nvar _KeyError = class _KeyError 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 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 _JsonSchemaStorage {\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 JsonSchemaStorage = _JsonSchemaStorage;\nvar DEFAULT_SCHEMA = \"default\";\nvar schemaStorage2 = new JsonSchemaStorage();\nvar _PatternValidation = class _PatternValidation {\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 PatternValidation = _PatternValidation;\nvar _InclusiveValidation = class _InclusiveValidation {\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 InclusiveValidation = _InclusiveValidation;\nvar _ExclusiveValidation = class _ExclusiveValidation {\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 ExclusiveValidation = _ExclusiveValidation;\nvar _LengthValidation = class _LengthValidation {\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 LengthValidation = _LengthValidation;\nvar _EnumerationValidation = class _EnumerationValidation {\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 EnumerationValidation = _EnumerationValidation;\nvar _JsonTransform = class _JsonTransform {\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 JsonTransform = _JsonTransform;\nvar _JsonSerializer = class _JsonSerializer 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 JsonSerializer = _JsonSerializer;\nvar _JsonParser = class _JsonParser 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\");\nvar 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 _CryptoError extends Error {\n};\n__name(_CryptoError, \"CryptoError\");\nvar CryptoError = _CryptoError;\nvar _AlgorithmError = class _AlgorithmError extends CryptoError {\n};\n__name(_AlgorithmError, \"AlgorithmError\");\nvar AlgorithmError = _AlgorithmError;\nvar _UnsupportedOperationError = class _UnsupportedOperationError extends CryptoError {\n constructor(methodName) {\n super(`Unsupported operation: ${methodName ? `${methodName}` : \"\"}`);\n }\n};\n__name(_UnsupportedOperationError, \"UnsupportedOperationError\");\nvar UnsupportedOperationError = _UnsupportedOperationError;\nvar _OperationError = class _OperationError extends CryptoError {\n};\n__name(_OperationError, \"OperationError\");\nvar OperationError = _OperationError;\nvar _RequiredPropertyError = class _RequiredPropertyError extends CryptoError {\n constructor(propName) {\n super(`${propName}: Missing required property`);\n }\n};\n__name(_RequiredPropertyError, \"RequiredPropertyError\");\nvar RequiredPropertyError = _RequiredPropertyError;\nfunction isJWK(data) {\n return typeof data === \"object\" && \"kty\" in data;\n}\n__name(isJWK, \"isJWK\");\nvar _ProviderCrypto = class _ProviderCrypto {\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 ProviderCrypto = _ProviderCrypto;\nvar _AesProvider = class _AesProvider 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 AesProvider = _AesProvider;\nvar _AesCbcProvider = class _AesCbcProvider 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 AesCbcProvider = _AesCbcProvider;\nvar _AesCmacProvider = class _AesCmacProvider 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 AesCmacProvider = _AesCmacProvider;\nvar _AesCtrProvider = class _AesCtrProvider 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 AesCtrProvider = _AesCtrProvider;\nvar _AesEcbProvider = class _AesEcbProvider 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 AesEcbProvider = _AesEcbProvider;\nvar _AesGcmProvider = class _AesGcmProvider 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 AesGcmProvider = _AesGcmProvider;\nvar _AesKwProvider = class _AesKwProvider extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = \"AES-KW\";\n this.usages = [\"wrapKey\", \"unwrapKey\"];\n }\n};\n__name(_AesKwProvider, \"AesKwProvider\");\nvar AesKwProvider = _AesKwProvider;\nvar _DesProvider = class _DesProvider 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 DesProvider = _DesProvider;\nvar _RsaProvider = class _RsaProvider 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 RsaProvider = _RsaProvider;\nvar _RsaSsaProvider = class _RsaSsaProvider 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 RsaSsaProvider = _RsaSsaProvider;\nvar _RsaPssProvider = class _RsaPssProvider 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 RsaPssProvider = _RsaPssProvider;\nvar _RsaOaepProvider = class _RsaOaepProvider 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 RsaOaepProvider = _RsaOaepProvider;\nvar _EllipticProvider = class _EllipticProvider 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 EllipticProvider = _EllipticProvider;\nvar _EcdsaProvider = class _EcdsaProvider 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 EcdsaProvider = _EcdsaProvider;\nvar KEY_TYPES = [\"secret\", \"private\", \"public\"];\nvar _CryptoKey = class _CryptoKey {\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 CryptoKey = _CryptoKey;\nvar _EcdhProvider = class _EcdhProvider 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 EcdhProvider = _EcdhProvider;\nvar _EcdhEsProvider = class _EcdhEsProvider extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.name = \"ECDH-ES\";\n this.namedCurves = [\"X25519\", \"X448\"];\n }\n};\n__name(_EcdhEsProvider, \"EcdhEsProvider\");\nvar EcdhEsProvider = _EcdhEsProvider;\nvar _EdDsaProvider = class _EdDsaProvider 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 EdDsaProvider = _EdDsaProvider;\nvar _a2;\nvar ObjectIdentifier2 = (_a2 = class {\n constructor(value) {\n if (value) {\n this.value = value;\n }\n }\n}, __name(_a2, \"ObjectIdentifier\"), _a2);\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 _AlgorithmIdentifier {\n constructor(params) {\n Object.assign(this, params);\n }\n};\n__name(_AlgorithmIdentifier, \"AlgorithmIdentifier\");\nvar 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 _PrivateKeyInfo {\n constructor() {\n this.version = 0;\n this.privateKeyAlgorithm = new AlgorithmIdentifier();\n this.privateKey = new ArrayBuffer(0);\n }\n};\n__name(_PrivateKeyInfo, \"PrivateKeyInfo\");\nvar 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 _PublicKeyInfo {\n constructor() {\n this.publicKeyAlgorithm = new AlgorithmIdentifier();\n this.publicKey = new ArrayBuffer(0);\n }\n};\n__name(_PublicKeyInfo, \"PublicKeyInfo\");\nvar 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 _RsaPrivateKey {\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\");\nvar 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 _RsaPublicKey {\n constructor() {\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n }\n};\n__name(_RsaPublicKey, \"RsaPublicKey\");\nvar 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 _a3;\nvar EcPublicKey = (_a3 = class {\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}, __name(_a3, \"EcPublicKey\"), _a3);\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 _EcPrivateKey {\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\");\nvar 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 _EcUtils {\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 EcUtils = _EcUtils;\nvar _EcDsaSignature = class _EcDsaSignature {\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\");\nvar 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 _OneAsymmetricKey extends PrivateKeyInfo {\n};\n__name(_OneAsymmetricKey, \"OneAsymmetricKey\");\nvar OneAsymmetricKey = _OneAsymmetricKey;\n__decorate([\n AsnProp({ context: 1, implicit: true, type: AsnPropTypes.BitString, optional: true })\n], OneAsymmetricKey.prototype, \"publicKey\", void 0);\nvar _a4;\nvar EdPrivateKey = (_a4 = class {\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}, __name(_a4, \"EdPrivateKey\"), _a4);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EdPrivateKey.prototype, \"value\", void 0);\nEdPrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPrivateKey);\nvar _a5;\nvar EdPublicKey = (_a5 = class {\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}, __name(_a5, \"EdPublicKey\"), _a5);\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], EdPublicKey.prototype, \"value\", void 0);\nEdPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPublicKey);\nvar _a6;\nvar CurvePrivateKey = (_a6 = class {\n}, __name(_a6, \"CurvePrivateKey\"), _a6);\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 _EcCurves {\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\");\nvar 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 _HmacProvider 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 HmacProvider = _HmacProvider;\nvar _Pbkdf2Provider = class _Pbkdf2Provider 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 Pbkdf2Provider = _Pbkdf2Provider;\nvar _HkdfProvider = class _HkdfProvider 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 HkdfProvider = _HkdfProvider;\nvar _ShakeProvider = class _ShakeProvider 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 ShakeProvider = _ShakeProvider;\nvar _Shake128Provider = class _Shake128Provider extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = \"shake128\";\n this.defaultLength = 16;\n }\n};\n__name(_Shake128Provider, \"Shake128Provider\");\nvar Shake128Provider = _Shake128Provider;\nvar _Shake256Provider = class _Shake256Provider extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = \"shake256\";\n this.defaultLength = 32;\n }\n};\n__name(_Shake256Provider, \"Shake256Provider\");\nvar Shake256Provider = _Shake256Provider;\nvar _Crypto = class _Crypto {\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 Crypto = _Crypto;\nvar _ProviderStorage = class _ProviderStorage {\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 ProviderStorage = _ProviderStorage;\nvar _SubtleCrypto = class _SubtleCrypto {\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\");\nvar 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 _CryptoKey2 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\");\nvar CryptoKey2 = _CryptoKey2;\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 _SymmetricKey extends CryptoKey2 {\n constructor() {\n super(...arguments);\n this.kty = \"oct\";\n this.type = \"secret\";\n }\n};\n__name(_SymmetricKey, \"SymmetricKey\");\nvar SymmetricKey = _SymmetricKey;\nvar _AsymmetricKey = class _AsymmetricKey extends CryptoKey2 {\n};\n__name(_AsymmetricKey, \"AsymmetricKey\");\nvar AsymmetricKey = _AsymmetricKey;\nvar _AesCryptoKey = class _AesCryptoKey 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\");\nvar AesCryptoKey = _AesCryptoKey;\n__decorate([\n JsonProp({ name: \"k\", converter: JsonBase64UrlConverter })\n], AesCryptoKey.prototype, \"data\", void 0);\nvar _AesCrypto = class _AesCrypto {\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\");\nvar 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 _AesCbcProvider2 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 AesCbcProvider2 = _AesCbcProvider2;\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 _AesCmacProvider2 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 AesCmacProvider2 = _AesCmacProvider2;\nvar _AesCtrProvider2 = class _AesCtrProvider2 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 AesCtrProvider2 = _AesCtrProvider2;\nvar _AesGcmProvider2 = class _AesGcmProvider2 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 AesGcmProvider2 = _AesGcmProvider2;\nvar _AesKwProvider2 = class _AesKwProvider2 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 AesKwProvider2 = _AesKwProvider2;\nvar _AesEcbProvider2 = class _AesEcbProvider2 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 AesEcbProvider2 = _AesEcbProvider2;\nvar _DesCryptoKey = class _DesCryptoKey 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\");\nvar DesCryptoKey = _DesCryptoKey;\n__decorate([\n JsonProp({ name: \"k\", converter: JsonBase64UrlConverter })\n], DesCryptoKey.prototype, \"data\", void 0);\nvar _DesCrypto = class _DesCrypto {\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 DesCrypto = _DesCrypto;\nvar _DesCbcProvider = class _DesCbcProvider 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 DesCbcProvider = _DesCbcProvider;\nvar _DesEde3CbcProvider = class _DesEde3CbcProvider 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\");\nvar 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 _RsaPrivateKey2 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 RsaPrivateKey2 = _RsaPrivateKey2;\nvar _RsaPublicKey2 = class _RsaPublicKey2 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 RsaPublicKey2 = _RsaPublicKey2;\nvar _RsaCrypto = class _RsaCrypto {\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\");\nvar RsaCrypto = _RsaCrypto;\nRsaCrypto.publicKeyUsages = [\"verify\", \"encrypt\", \"wrapKey\"];\nRsaCrypto.privateKeyUsages = [\"sign\", \"decrypt\", \"unwrapKey\"];\nvar _RsaSsaProvider2 = class _RsaSsaProvider2 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 RsaSsaProvider2 = _RsaSsaProvider2;\nvar _RsaPssProvider2 = class _RsaPssProvider2 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 RsaPssProvider2 = _RsaPssProvider2;\nvar _ShaCrypto = class _ShaCrypto {\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 ShaCrypto = _ShaCrypto;\nvar _RsaOaepProvider2 = class _RsaOaepProvider2 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 RsaOaepProvider2 = _RsaOaepProvider2;\nvar _RsaEsProvider = class _RsaEsProvider 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 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 _EcPrivateKey2 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 EcPrivateKey2 = _EcPrivateKey2;\nvar _EcPublicKey = class _EcPublicKey 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(_EcPublicKey, \"EcPublicKey\");\nvar EcPublicKey2 = _EcPublicKey;\nvar _Sha1Provider = class _Sha1Provider 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 Sha1Provider = _Sha1Provider;\nvar _Sha256Provider = class _Sha256Provider 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 Sha256Provider = _Sha256Provider;\nvar _Sha384Provider = class _Sha384Provider 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 Sha384Provider = _Sha384Provider;\nvar _Sha512Provider = class _Sha512Provider 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 Sha512Provider = _Sha512Provider;\nvar _Sha3256Provider = class _Sha3256Provider 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 Sha3256Provider = _Sha3256Provider;\nvar _Sha3384Provider = class _Sha3384Provider 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 Sha3384Provider = _Sha3384Provider;\nvar _Sha3512Provider = class _Sha3512Provider 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 Sha3512Provider = _Sha3512Provider;\nvar _EcCrypto = class _EcCrypto {\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 EcPublicKey2();\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 EcPublicKey2();\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\");\nvar EcCrypto = _EcCrypto;\nEcCrypto.publicKeyUsages = [\"verify\"];\nEcCrypto.privateKeyUsages = [\"sign\", \"deriveKey\", \"deriveBits\"];\nvar _EcdsaProvider2 = class _EcdsaProvider2 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 EcPublicKey2)) {\n throw new TypeError(\"key: Is not EC CryptoKey\");\n }\n }\n};\n__name(_EcdsaProvider2, \"EcdsaProvider\");\nvar EcdsaProvider2 = _EcdsaProvider2;\nvar _EcdhProvider2 = class _EcdhProvider2 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 EcPublicKey2)) {\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 EcdhProvider2 = _EcdhProvider2;\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 _EdPrivateKey = class _EdPrivateKey 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(_EdPrivateKey, \"EdPrivateKey\");\nvar EdPrivateKey2 = _EdPrivateKey;\nvar _EdPublicKey = class _EdPublicKey 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(_EdPublicKey, \"EdPublicKey\");\nvar EdPublicKey2 = _EdPublicKey;\nvar _EdCrypto = class _EdCrypto {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EdPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EdPublicKey2();\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 EdPrivateKey2();\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 EdPublicKey2();\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\");\nvar EdCrypto = _EdCrypto;\nEdCrypto.publicKeyUsages = [\"verify\"];\nEdCrypto.privateKeyUsages = [\"sign\", \"deriveKey\", \"deriveBits\"];\nvar _EdDsaProvider2 = class _EdDsaProvider2 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 EdDsaProvider2 = _EdDsaProvider2;\nvar _EcdhEsProvider2 = class _EcdhEsProvider2 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 EcdhEsProvider2 = _EcdhEsProvider2;\nvar _PbkdfCryptoKey = class _PbkdfCryptoKey extends CryptoKey2 {\n};\n__name(_PbkdfCryptoKey, \"PbkdfCryptoKey\");\nvar PbkdfCryptoKey = _PbkdfCryptoKey;\nvar _Pbkdf2Provider2 = class _Pbkdf2Provider2 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 Pbkdf2Provider2 = _Pbkdf2Provider2;\nvar _HmacCryptoKey = class _HmacCryptoKey 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\");\nvar HmacCryptoKey = _HmacCryptoKey;\n__decorate([\n JsonProp({ name: \"k\", converter: JsonBase64UrlConverter })\n], HmacCryptoKey.prototype, \"data\", void 0);\nvar _HmacProvider2 = class _HmacProvider2 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 HmacProvider2 = _HmacProvider2;\nvar _HkdfCryptoKey = class _HkdfCryptoKey extends CryptoKey2 {\n};\n__name(_HkdfCryptoKey, \"HkdfCryptoKey\");\nvar HkdfCryptoKey = _HkdfCryptoKey;\nvar _HkdfProvider2 = class _HkdfProvider2 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 HkdfProvider2 = _HkdfProvider2;\nvar _ShakeCrypto = class _ShakeCrypto {\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 ShakeCrypto = _ShakeCrypto;\nvar _Shake128Provider2 = class _Shake128Provider2 extends Shake128Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(_Shake128Provider2, \"Shake128Provider\");\nvar Shake128Provider2 = _Shake128Provider2;\nvar _Shake256Provider2 = class _Shake256Provider2 extends Shake256Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(_Shake256Provider2, \"Shake256Provider\");\nvar Shake256Provider2 = _Shake256Provider2;\nvar _SubtleCrypto2 = class _SubtleCrypto2 extends SubtleCrypto {\n constructor() {\n var _a7;\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 = (_a7 = /^v(\\d+)/.exec(process.version)) === null || _a7 === void 0 ? void 0 : _a7[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 SubtleCrypto2 = _SubtleCrypto2;\nvar _Crypto2 = class _Crypto2 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\");\nvar Crypto2 = _Crypto2;\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" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/events.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/events.js.text.js index 7f5f9f44e57a2..e96daafd3c33e 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/events.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/events.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 _Warning {\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 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 _Event {\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 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 var _a;\n if (Global.DOMException) {\n return new Global.DOMException(message, \"InvalidStateError\");\n }\n if (DOMException == null) {\n DOMException = (_a = class extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, _a);\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 }, __name(_a, \"DOMException\"), _a);\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 _EventWrapper 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 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 const _CustomEventWrapper = class _CustomEventWrapper extends BaseEventWrapper {\n };\n __name(_CustomEventWrapper, \"CustomEventWrapper\");\n let 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 _EventTarget {\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 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 _FetchEvent 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 FetchEvent = _FetchEvent;\nvar _PromiseRejectionEvent = class _PromiseRejectionEvent 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\");\nvar 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" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/fetch.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/fetch.js.text.js index a6487ccd368c7..22ddeea6c7a4c 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/fetch.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/fetch.js.text.js @@ -1 +1 @@ -module.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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AQtBwQEhKgsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKg7HAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHh8gISMlKD9AQURFRkdISUpLTE1PUFFSU+MDV1lbXF1gYmVmZ2hpamtsbW9wcXJzdHV2d3h5ent8fX6AAYIBhQGGAYcBiQGLAYwBjQGOAY8BkAGRAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wGZAqQCsgKEA4QDCyABIgQgAkcN8wFB3QEhKgyGBAsgASIqIAJHDd0BQcMBISoMhQQLIAEiASACRw2QAUH3ACEqDIQECyABIgEgAkcNhgFB7wAhKgyDBAsgASIBIAJHDX9B6gAhKgyCBAsgASIBIAJHDXtB6AAhKgyBBAsgASIBIAJHDXhB5gAhKgyABAsgASIBIAJHDRpBGCEqDP8DCyABIgEgAkcNFEESISoM/gMLIAEiASACRw1ZQcUAISoM/QMLIAEiASACRw1KQT8hKgz8AwsgASIBIAJHDUhBPCEqDPsDCyABIgEgAkcNQUExISoM+gMLIAAtAC5BAUYN8gMMhwILIAAgASIBIAIQwICAgABBAUcN5gEgAEIANwMgDOcBCyAAIAEiASACELSAgIAAIioN5wEgASEBDPsCCwJAIAEiASACRw0AQQYhKgz3AwsgACABQQFqIgEgAhC7gICAACIqDegBIAEhAQwxCyAAQgA3AyBBEiEqDNwDCyABIiogAkcNK0EdISoM9AMLAkAgASIBIAJGDQAgAUEBaiEBQRAhKgzbAwtBByEqDPMDCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDeUBQQghKgzyAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBFCEqDNkDC0EJISoM8QMLIAEhASAAKQMgUA3kASABIQEM+AILAkAgASIBIAJHDQBBCyEqDPADCyAAIAFBAWoiASACELaAgIAAIioN5QEgASEBDPgCCyAAIAEiASACELiAgIAAIioN5QEgASEBDPgCCyAAIAEiASACELiAgIAAIioN5gEgASEBDA0LIAAgASIBIAIQuoCAgAAiKg3nASABIQEM9gILAkAgASIBIAJHDQBBDyEqDOwDCyABLQAAIipBO0YNCCAqQQ1HDegBIAFBAWohAQz1AgsgACABIgEgAhC6gICAACIqDegBIAEhAQz4AgsDQAJAIAEtAABB8LWAgABqLQAAIipBAUYNACAqQQJHDesBIAAoAgQhKiAAQQA2AgQgACAqIAFBAWoiARC5gICAACIqDeoBIAEhAQz6AgsgAUEBaiIBIAJHDQALQRIhKgzpAwsgACABIgEgAhC6gICAACIqDekBIAEhAQwKCyABIgEgAkcNBkEbISoM5wMLAkAgASIBIAJHDQBBFiEqDOcDCyAAQYqAgIAANgIIIAAgATYCBCAAIAEgAhC4gICAACIqDeoBIAEhAUEgISoMzQMLAkAgASIBIAJGDQADQAJAIAEtAABB8LeAgABqLQAAIipBAkYNAAJAICpBf2oOBOUB7AEA6wHsAQsgAUEBaiEBQQghKgzPAwsgAUEBaiIBIAJHDQALQRUhKgzmAwtBFSEqDOUDCwNAAkAgAS0AAEHwuYCAAGotAAAiKkECRg0AICpBf2oOBN4B7AHgAesB7AELIAFBAWoiASACRw0AC0EYISoM5AMLAkAgASIBIAJGDQAgAEGLgICAADYCCCAAIAE2AgQgASEBQQchKgzLAwtBGSEqDOMDCyABQQFqIQEMAgsCQCABIi4gAkcNAEEaISoM4gMLIC4hAQJAIC4tAABBc2oOFOMC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQCAPQCC0EAISogAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgLkEBajYCFAzhAwsCQCABLQAAIipBO0YNACAqQQ1HDegBIAFBAWohAQzrAgsgAUEBaiEBC0EiISoMxgMLAkAgASIqIAJHDQBBHCEqDN8DC0IAISsgKiEBICotAABBUGoON+cB5gEBAgMEBQYHCAAAAAAAAAAJCgsMDQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QERITFAALQR4hKgzEAwtCAiErDOUBC0IDISsM5AELQgQhKwzjAQtCBSErDOIBC0IGISsM4QELQgchKwzgAQtCCCErDN8BC0IJISsM3gELQgohKwzdAQtCCyErDNwBC0IMISsM2wELQg0hKwzaAQtCDiErDNkBC0IPISsM2AELQgohKwzXAQtCCyErDNYBC0IMISsM1QELQg0hKwzUAQtCDiErDNMBC0IPISsM0gELQgAhKwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKi0AAEFQag435QHkAQABAgMEBQYH5gHmAeYB5gHmAeYB5gEICQoLDA3mAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYBDg8QERIT5gELQgIhKwzkAQtCAyErDOMBC0IEISsM4gELQgUhKwzhAQtCBiErDOABC0IHISsM3wELQgghKwzeAQtCCSErDN0BC0IKISsM3AELQgshKwzbAQtCDCErDNoBC0INISsM2QELQg4hKwzYAQtCDyErDNcBC0IKISsM1gELQgshKwzVAQtCDCErDNQBC0INISsM0wELQg4hKwzSAQtCDyErDNEBCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDdIBQR8hKgzHAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBJCEqDK4DC0EgISoMxgMLIAAgASIqIAIQvoCAgABBf2oOBbYBAMsCAdEB0gELQREhKgyrAwsgAEEBOgAvICohAQzCAwsgASIBIAJHDdIBQSQhKgzCAwsgASInIAJHDR5BxgAhKgzBAwsgACABIgEgAhCygICAACIqDdQBIAEhAQy1AQsgASIqIAJHDSZB0AAhKgy/AwsCQCABIgEgAkcNAEEoISoMvwMLIABBADYCBCAAQYyAgIAANgIIIAAgASABELGAgIAAIioN0wEgASEBDNgBCwJAIAEiKiACRw0AQSkhKgy+AwsgKi0AACIBQSBGDRQgAUEJRw3TASAqQQFqIQEMFQsCQCABIgEgAkYNACABQQFqIQEMFwtBKiEqDLwDCwJAIAEiKiACRw0AQSshKgy8AwsCQCAqLQAAIgFBCUYNACABQSBHDdUBCyAALQAsQQhGDdMBICohAQyWAwsCQCABIgEgAkcNAEEsISoMuwMLIAEtAABBCkcN1QEgAUEBaiEBDM8CCyABIiggAkcN1QFBLyEqDLkDCwNAAkAgAS0AACIqQSBGDQACQCAqQXZqDgQA3AHcAQDaAQsgASEBDOIBCyABQQFqIgEgAkcNAAtBMSEqDLgDC0EyISogASIvIAJGDbcDIAIgL2sgACgCACIwaiExIC8hMiAwIQECQANAIDItAAAiLkEgciAuIC5Bv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BIAFBA0YNmwMgAUEBaiEBIDJBAWoiMiACRw0ACyAAIDE2AgAMuAMLIABBADYCACAyIQEM2QELQTMhKiABIi8gAkYNtgMgAiAvayAAKAIAIjBqITEgLyEyIDAhAQJAA0AgMi0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQEgAUEIRg3bASABQQFqIQEgMkEBaiIyIAJHDQALIAAgMTYCAAy3AwsgAEEANgIAIDIhAQzYAQtBNCEqIAEiLyACRg21AyACIC9rIAAoAgAiMGohMSAvITIgMCEBAkADQCAyLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcNASABQQVGDdsBIAFBAWohASAyQQFqIjIgAkcNAAsgACAxNgIADLYDCyAAQQA2AgAgMiEBDNcBCwJAIAEiASACRg0AA0ACQCABLQAAQYC+gIAAai0AACIqQQFGDQAgKkECRg0KIAEhAQzfAQsgAUEBaiIBIAJHDQALQTAhKgy1AwtBMCEqDLQDCwJAIAEiASACRg0AA0ACQCABLQAAIipBIEYNACAqQXZqDgTbAdwB3AHbAdwBCyABQQFqIgEgAkcNAAtBOCEqDLQDC0E4ISoMswMLA0ACQCABLQAAIipBIEYNACAqQQlHDQMLIAFBAWoiASACRw0AC0E8ISoMsgMLA0ACQCABLQAAIipBIEYNAAJAAkAgKkF2ag4E3AEBAdwBAAsgKkEsRg3dAQsgASEBDAQLIAFBAWoiASACRw0AC0E/ISoMsQMLIAEhAQzdAQtBwAAhKiABIjIgAkYNrwMgAiAyayAAKAIAIi9qITAgMiEuIC8hAQJAA0AgLi0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDZUDIAFBAWohASAuQQFqIi4gAkcNAAsgACAwNgIADLADCyAAQQA2AgAgLiEBC0E2ISoMlQMLAkAgASIpIAJHDQBBwQAhKgyuAwsgAEGMgICAADYCCCAAICk2AgQgKSEBIAAtACxBf2oOBM0B1wHZAdsBjAMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIqQSByICogKkG/f2pB/wFxQRpJG0H/AXEiKkEJRg0AICpBIEYNAAJAAkACQAJAICpBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhKgyYAwsgAUEBaiEBQTIhKgyXAwsgAUEBaiEBQTMhKgyWAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEqDKwDC0E1ISoMqwMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNUBCyABQQFqIgEgAkcNAAtBPSEqDKsDC0E9ISoMqgMLIAAgASIBIAIQsICAgAAiKg3YASABIQEMAQsgKkEBaiEBC0E8ISoMjgMLAkAgASIBIAJHDQBBwgAhKgynAwsCQANAAkAgAS0AAEF3ag4YAAKDA4MDiQODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMAgwMLIAFBAWoiASACRw0AC0HCACEqDKcDCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsISoMjAMLIAEiASACRw3VAUHEACEqDKQDCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMvQILIAFBAWoiASACRw0AC0HFACEqDKMDCyAnLQAAIipBIEYNswEgKkE6Rw2IAyAAKAIEIQEgAEEANgIEIAAgASAnEK+AgIAAIgEN0gEgJ0EBaiEBDLkCC0HHACEqIAEiMiACRg2hAyACIDJrIAAoAgAiL2ohMCAyIScgLyEBAkADQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNiAMgAUEFRg0BIAFBAWohASAnQQFqIicgAkcNAAsgACAwNgIADKIDCyAAQQA2AgAgAEEBOgAsIDIgL2tBBmohAQyCAwtByAAhKiABIjIgAkYNoAMgAiAyayAAKAIAIi9qITAgMiEnIC8hAQJAA0AgJy0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDYcDIAFBCUYNASABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyhAwsgAEEANgIAIABBAjoALCAyIC9rQQpqIQEMgQMLAkAgASInIAJHDQBByQAhKgygAwsCQAJAICctAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIcDhwOHA4cDhwMBhwMLICdBAWohAUE+ISoMhwMLICdBAWohAUE/ISoMhgMLQcoAISogASIyIAJGDZ4DIAIgMmsgACgCACIvaiEwIDIhJyAvIQEDQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcNhAMgAUEBRg34AiABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyeAwtBywAhKiABIjIgAkYNnQMgAiAyayAAKAIAIi9qITAgMiEnIC8hAQJAA0AgJy0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDYQDIAFBDkYNASABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyeAwsgAEEANgIAIABBAToALCAyIC9rQQ9qIQEM/gILQcwAISogASIyIAJGDZwDIAIgMmsgACgCACIvaiEwIDIhJyAvIQECQANAICctAAAiLkEgciAuIC5Bv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw2DAyABQQ9GDQEgAUEBaiEBICdBAWoiJyACRw0ACyAAIDA2AgAMnQMLIABBADYCACAAQQM6ACwgMiAva0EQaiEBDP0CC0HNACEqIAEiMiACRg2bAyACIDJrIAAoAgAiL2ohMCAyIScgLyEBAkADQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcNggMgAUEFRg0BIAFBAWohASAnQQFqIicgAkcNAAsgACAwNgIADJwDCyAAQQA2AgAgAEEEOgAsIDIgL2tBBmohAQz8AgsCQCABIicgAkcNAEHOACEqDJsDCwJAAkACQAJAICctAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAIQDhAOEA4QDhAOEA4QDhAOEA4QDhAOEAwGEA4QDhAMCA4QDCyAnQQFqIQFBwQAhKgyEAwsgJ0EBaiEBQcIAISoMgwMLICdBAWohAUHDACEqDIIDCyAnQQFqIQFBxAAhKgyBAwsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhKgyBAwtBzwAhKgyZAwsgKiEBAkACQCAqLQAAQXZqDgQBrgKuAgCuAgsgKkEBaiEBC0EnISoM/wILAkAgASIBIAJHDQBB0QAhKgyYAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNyQEgASEBDIwBCyABIgEgAkcNyQFB0gAhKgyWAwtB0wAhKiABIjIgAkYNlQMgAiAyayAAKAIAIi9qITAgMiEuIC8hAQJAA0AgLi0AACABQdbCgIAAai0AAEcNzwEgAUEBRg0BIAFBAWohASAuQQFqIi4gAkcNAAsgACAwNgIADJYDCyAAQQA2AgAgMiAva0ECaiEBDMkBCwJAIAEiASACRw0AQdUAISoMlQMLIAEtAABBCkcNzgEgAUEBaiEBDMkBCwJAIAEiASACRw0AQdYAISoMlAMLAkACQCABLQAAQXZqDgQAzwHPAQHPAQsgAUEBaiEBDMkBCyABQQFqIQFBygAhKgz6AgsgACABIgEgAhCugICAACIqDc0BIAEhAUHNACEqDPkCCyAALQApQSJGDYwDDKwCCwJAIAEiASACRw0AQdsAISoMkQMLQQAhLkEBITJBASEvQQAhKgJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrWAdUBAAECAwQFBgjXAQtBAiEqDAYLQQMhKgwFC0EEISoMBAtBBSEqDAMLQQYhKgwCC0EHISoMAQtBCCEqC0EAITJBACEvQQAhLgzOAQtBCSEqQQEhLkEAITJBACEvDM0BCwJAIAEiASACRw0AQd0AISoMkAMLIAEtAABBLkcNzgEgAUEBaiEBDKwCCwJAIAEiASACRw0AQd8AISoMjwMLQQAhKgJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1wHWAQABAgMEBQYH2AELQQIhKgzWAQtBAyEqDNUBC0EEISoM1AELQQUhKgzTAQtBBiEqDNIBC0EHISoM0QELQQghKgzQAQtBCSEqDM8BCwJAIAEiASACRg0AIABBjoCAgAA2AgggACABNgIEIAEhAUHQACEqDPUCC0HgACEqDI0DC0HhACEqIAEiMiACRg2MAyACIDJrIAAoAgAiL2ohMCAyIQEgLyEuA0AgAS0AACAuQeLCgIAAai0AAEcN0QEgLkEDRg3QASAuQQFqIS4gAUEBaiIBIAJHDQALIAAgMDYCAAyMAwtB4gAhKiABIjIgAkYNiwMgAiAyayAAKAIAIi9qITAgMiEBIC8hLgNAIAEtAAAgLkHmwoCAAGotAABHDdABIC5BAkYN0gEgLkEBaiEuIAFBAWoiASACRw0ACyAAIDA2AgAMiwMLQeMAISogASIyIAJGDYoDIAIgMmsgACgCACIvaiEwIDIhASAvIS4DQCABLQAAIC5B6cKAgABqLQAARw3PASAuQQNGDdIBIC5BAWohLiABQQFqIgEgAkcNAAsgACAwNgIADIoDCwJAIAEiASACRw0AQeUAISoMigMLIAAgAUEBaiIBIAIQqICAgAAiKg3RASABIQFB1gAhKgzwAgsCQCABIgEgAkYNAANAAkAgAS0AACIqQSBGDQACQAJAAkAgKkG4f2oOCwAB0wHTAdMB0wHTAdMB0wHTAQLTAQsgAUEBaiEBQdIAISoM9AILIAFBAWohAUHTACEqDPMCCyABQQFqIQFB1AAhKgzyAgsgAUEBaiIBIAJHDQALQeQAISoMiQMLQeQAISoMiAMLA0ACQCABLQAAQfDCgIAAai0AACIqQQFGDQAgKkF+ag4D0wHUAdUB1gELIAFBAWoiASACRw0AC0HmACEqDIcDCwJAIAEiASACRg0AIAFBAWohAQwDC0HnACEqDIYDCwNAAkAgAS0AAEHwxICAAGotAAAiKkEBRg0AAkAgKkF+ag4E1gHXAdgBANkBCyABIQFB1wAhKgzuAgsgAUEBaiIBIAJHDQALQegAISoMhQMLAkAgASIBIAJHDQBB6QAhKgyFAwsCQCABLQAAIipBdmoOGrwB2QHZAb4B2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkBzgHZAdkBANcBCyABQQFqIQELQQYhKgzqAgsDQAJAIAEtAABB8MaAgABqLQAAQQFGDQAgASEBDKUCCyABQQFqIgEgAkcNAAtB6gAhKgyCAwsCQCABIgEgAkYNACABQQFqIQEMAwtB6wAhKgyBAwsCQCABIgEgAkcNAEHsACEqDIEDCyABQQFqIQEMAQsCQCABIgEgAkcNAEHtACEqDIADCyABQQFqIQELQQQhKgzlAgsCQCABIi4gAkcNAEHuACEqDP4CCyAuIQECQAJAAkAgLi0AAEHwyICAAGotAABBf2oOB9gB2QHaAQCjAgEC2wELIC5BAWohAQwKCyAuQQFqIQEM0QELQQAhKiAAQQA2AhwgAEGbkoCAADYCECAAQQc2AgwgACAuQQFqNgIUDP0CCwJAA0ACQCABLQAAQfDIgIAAai0AACIqQQRGDQACQAJAICpBf2oOB9YB1wHYAd0BAAQB3QELIAEhAUHaACEqDOcCCyABQQFqIQFB3AAhKgzmAgsgAUEBaiIBIAJHDQALQe8AISoM/QILIAFBAWohAQzPAQsCQCABIi4gAkcNAEHwACEqDPwCCyAuLQAAQS9HDdgBIC5BAWohAQwGCwJAIAEiLiACRw0AQfEAISoM+wILAkAgLi0AACIBQS9HDQAgLkEBaiEBQd0AISoM4gILIAFBdmoiAUEWSw3XAUEBIAF0QYmAgAJxRQ3XAQzSAgsCQCABIgEgAkYNACABQQFqIQFB3gAhKgzhAgtB8gAhKgz5AgsCQCABIi4gAkcNAEH0ACEqDPkCCyAuIQECQCAuLQAAQfDMgIAAai0AAEF/ag4D0QKbAgDYAQtB4QAhKgzfAgsCQCABIi4gAkYNAANAAkAgLi0AAEHwyoCAAGotAAAiAUEDRg0AAkAgAUF/ag4C0wIA2QELIC4hAUHfACEqDOECCyAuQQFqIi4gAkcNAAtB8wAhKgz4AgtB8wAhKgz3AgsCQCABIgEgAkYNACAAQY+AgIAANgIIIAAgATYCBCABIQFB4AAhKgzeAgtB9QAhKgz2AgsCQCABIgEgAkcNAEH2ACEqDPYCCyAAQY+AgIAANgIIIAAgATYCBCABIQELQQMhKgzbAgsDQCABLQAAQSBHDcsCIAFBAWoiASACRw0AC0H3ACEqDPMCCwJAIAEiASACRw0AQfgAISoM8wILIAEtAABBIEcN0gEgAUEBaiEBDPUBCyAAIAEiASACEKyAgIAAIioN0gEgASEBDJUCCwJAIAEiBCACRw0AQfoAISoM8QILIAQtAABBzABHDdUBIARBAWohAUETISoM0wELAkAgASIqIAJHDQBB+wAhKgzwAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQNAIAQtAAAgAUHwzoCAAGotAABHDdQBIAFBBUYN0gEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBB+wAhKgzvAgsCQCABIgQgAkcNAEH8ACEqDO8CCwJAAkAgBC0AAEG9f2oODADVAdUB1QHVAdUB1QHVAdUB1QHVAQHVAQsgBEEBaiEBQeYAISoM1gILIARBAWohAUHnACEqDNUCCwJAIAEiKiACRw0AQf0AISoM7gILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUHtz4CAAGotAABHDdMBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEH9ACEqDO4CCyAAQQA2AgAgKiAua0EDaiEBQRAhKgzQAQsCQCABIiogAkcNAEH+ACEqDO0CCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB9s6AgABqLQAARw3SASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBB/gAhKgztAgsgAEEANgIAICogLmtBBmohAUEWISoMzwELAkAgASIqIAJHDQBB/wAhKgzsAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQfzOgIAAai0AAEcN0QEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQf8AISoM7AILIABBADYCACAqIC5rQQRqIQFBBSEqDM4BCwJAIAEiBCACRw0AQYABISoM6wILIAQtAABB2QBHDc8BIARBAWohAUEIISoMzQELAkAgASIEIAJHDQBBgQEhKgzqAgsCQAJAIAQtAABBsn9qDgMA0AEB0AELIARBAWohAUHrACEqDNECCyAEQQFqIQFB7AAhKgzQAgsCQCABIgQgAkcNAEGCASEqDOkCCwJAAkAgBC0AAEG4f2oOCADPAc8BzwHPAc8BzwEBzwELIARBAWohAUHqACEqDNACCyAEQQFqIQFB7QAhKgzPAgsCQCABIi4gAkcNAEGDASEqDOgCCyACIC5rIAAoAgAiMmohKiAuIQQgMiEBAkADQCAELQAAIAFBgM+AgABqLQAARw3NASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAICo2AgBBgwEhKgzoAgtBACEqIABBADYCACAuIDJrQQNqIQEMygELAkAgASIqIAJHDQBBhAEhKgznAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQYPPgIAAai0AAEcNzAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYQBISoM5wILIABBADYCACAqIC5rQQVqIQFBIyEqDMkBCwJAIAEiBCACRw0AQYUBISoM5gILAkACQCAELQAAQbR/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+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+AgABqLQAARw2XASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBuQEhKgyyAgsgAEEANgIAIBogKmtBAmohAUEgISoMlAELAkAgGyACRw0AQboBISoMsQILIAIgG2sgACgCACIqaiEuIBshBCAqIQECQANAIAQtAAAgAUHyz4CAAGotAABHDZYBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgLjYCAEG6ASEqDLECCyAAQQA2AgAgGyAqa0ECaiEBQQ8hKgyTAQsCQCAEIAJHDQBBuwEhKgywAgsCQAJAIAQtAABBt39qDgcAlgGWAZYBlgGWAQGWAQsgBEEBaiEaQaUBISoMlwILIARBAWohG0GmASEqDJYCCwJAIBwgAkcNAEG8ASEqDK8CCyACIBxrIAAoAgAiKmohLiAcIQQgKiEBAkADQCAELQAAIAFB9M+AgABqLQAARw2UASABQQdGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIC42AgBBvAEhKgyvAgsgAEEANgIAIBwgKmtBCGohAUEbISoMkQELAkAgBCACRw0AQb0BISoMrgILAkACQAJAIAQtAABBvn9qDhIAlQGVAZUBlQGVAZUBlQGVAZUBAZUBlQGVAZUBlQGVAQKVAQsgBEEBaiEZQaQBISoMlgILIARBAWohBEGnASEqDJUCCyAEQQFqIRxBqAEhKgyUAgsCQCAEIAJHDQBBvgEhKgytAgsgBC0AAEHOAEcNkQEgBEEBaiEEDNYBCwJAIAQgAkcNAEG/ASEqDKwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAABBv39qDhUAAQIDoAEEBQagAaABoAEHCAkKC6ABDA0OD6ABCyAEQQFqIQFB6AAhKgyhAgsgBEEBaiEBQekAISoMoAILIARBAWohAUHuACEqDJ8CCyAEQQFqIQFB8gAhKgyeAgsgBEEBaiEBQfMAISoMnQILIARBAWohAUH2ACEqDJwCCyAEQQFqIQFB9wAhKgybAgsgBEEBaiEBQfoAISoMmgILIARBAWohBEGDASEqDJkCCyAEQQFqIQZBhAEhKgyYAgsgBEEBaiEHQYUBISoMlwILIARBAWohBEGSASEqDJYCCyAEQQFqIQRBmAEhKgyVAgsgBEEBaiEEQaABISoMlAILIARBAWohBEGjASEqDJMCCyAEQQFqIQRBqgEhKgySAgsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBqwEhKgySAgtBwAEhKgyqAgsgACAdIAIQqoCAgAAiAQ2PASAdIQEMXgsCQCAeIAJGDQAgHkEBaiEdDJEBC0HCASEqDKgCCwNAAkAgKi0AAEF2ag4EkAEAAJMBAAsgKkEBaiIqIAJHDQALQcMBISoMpwILAkAgHyACRg0AIABBkYCAgAA2AgggACAfNgIEIB8hAUEBISoMjgILQcQBISoMpgILAkAgHyACRw0AQcUBISoMpgILAkACQCAfLQAAQXZqDgQB1QHVAQDVAQsgH0EBaiEeDJEBCyAfQQFqIR0MjQELAkAgHyACRw0AQcYBISoMpQILAkACQCAfLQAAQXZqDhcBkwGTAQGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwGTAZMBkwEAkwELIB9BAWohHwtBsAEhKgyLAgsCQCAgIAJHDQBByAEhKgykAgsgIC0AAEEgRw2RASAAQQA7ATIgIEEBaiEBQbMBISoMigILIAEhMgJAA0AgMiIfIAJGDQEgHy0AAEFQakH/AXEiKkEKTw3TAQJAIAAvATIiLkGZM0sNACAAIC5BCmwiLjsBMiAqQf//A3MgLkH+/wNxSQ0AIB9BAWohMiAAIC4gKmoiKjsBMiAqQf//A3FB6AdJDQELC0EAISogAEEANgIcIABBwYmAgAA2AhAgAEENNgIMIAAgH0EBajYCFAyjAgtBxwEhKgyiAgsgACAgIAIQroCAgAAiKkUN0QEgKkEVRw2QASAAQcgBNgIcIAAgIDYCFCAAQcmXgIAANgIQIABBFTYCDEEAISoMoQILAkAgISACRw0AQcwBISoMoQILQQAhLkEBITJBASEvQQAhKgJAAkACQAJAAkACQAJAAkACQCAhLQAAQVBqDgqaAZkBAAECAwQFBgibAQtBAiEqDAYLQQMhKgwFC0EEISoMBAtBBSEqDAMLQQYhKgwCC0EHISoMAQtBCCEqC0EAITJBACEvQQAhLgySAQtBCSEqQQEhLkEAITJBACEvDJEBCwJAICIgAkcNAEHOASEqDKACCyAiLQAAQS5HDZIBICJBAWohIQzRAQsCQCAjIAJHDQBB0AEhKgyfAgtBACEqAkACQAJAAkACQAJAAkACQCAjLQAAQVBqDgqbAZoBAAECAwQFBgecAQtBAiEqDJoBC0EDISoMmQELQQQhKgyYAQtBBSEqDJcBC0EGISoMlgELQQchKgyVAQtBCCEqDJQBC0EJISoMkwELAkAgIyACRg0AIABBjoCAgAA2AgggACAjNgIEQbcBISoMhQILQdEBISoMnQILAkAgBCACRw0AQdIBISoMnQILIAIgBGsgACgCACIuaiEyIAQhIyAuISoDQCAjLQAAICpB/M+AgABqLQAARw2UASAqQQRGDfEBICpBAWohKiAjQQFqIiMgAkcNAAsgACAyNgIAQdIBISoMnAILIAAgJCACEKyAgIAAIgENkwEgJCEBDL8BCwJAICUgAkcNAEHUASEqDJsCCyACICVrIAAoAgAiJGohLiAlIQQgJCEqA0AgBC0AACAqQYHQgIAAai0AAEcNlQEgKkEBRg2UASAqQQFqISogBEEBaiIEIAJHDQALIAAgLjYCAEHUASEqDJoCCwJAICYgAkcNAEHWASEqDJoCCyACICZrIAAoAgAiI2ohLiAmIQQgIyEqA0AgBC0AACAqQYPQgIAAai0AAEcNlAEgKkECRg2WASAqQQFqISogBEEBaiIEIAJHDQALIAAgLjYCAEHWASEqDJkCCwJAIAQgAkcNAEHXASEqDJkCCwJAAkAgBC0AAEG7f2oOEACVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBAZUBCyAEQQFqISVBuwEhKgyAAgsgBEEBaiEmQbwBISoM/wELAkAgBCACRw0AQdgBISoMmAILIAQtAABByABHDZIBIARBAWohBAzMAQsCQCAEIAJGDQAgAEGQgICAADYCCCAAIAQ2AgRBvgEhKgz+AQtB2QEhKgyWAgsCQCAEIAJHDQBB2gEhKgyWAgsgBC0AAEHIAEYNywEgAEEBOgAoDMABCyAAQQI6AC8gACAEIAIQpoCAgAAiKg2TAUHCASEqDPsBCyAALQAoQX9qDgK+AcABvwELA0ACQCAELQAAQXZqDgQAlAGUAQCUAQsgBEEBaiIEIAJHDQALQd0BISoMkgILIABBADoALyAALQAtQQRxRQ2LAgsgAEEAOgAvIABBAToANCABIQEMkgELICpBFUYN4gEgAEEANgIcIAAgATYCFCAAQaeOgIAANgIQIABBEjYCDEEAISoMjwILAkAgACAqIAIQtICAgAAiAQ0AICohAQyIAgsCQCABQRVHDQAgAEEDNgIcIAAgKjYCFCAAQbCYgIAANgIQIABBFTYCDEEAISoMjwILIABBADYCHCAAICo2AhQgAEGnjoCAADYCECAAQRI2AgxBACEqDI4CCyAqQRVGDd4BIABBADYCHCAAIAE2AhQgAEHajYCAADYCECAAQRQ2AgxBACEqDI0CCyAAKAIEITIgAEEANgIEICogK6dqIi8hASAAIDIgKiAvIC4bIioQtYCAgAAiLkUNkwEgAEEHNgIcIAAgKjYCFCAAIC42AgxBACEqDIwCCyAAIAAvATBBgAFyOwEwIAEhAQtBKiEqDPEBCyAqQRVGDdkBIABBADYCHCAAIAE2AhQgAEGDjICAADYCECAAQRM2AgxBACEqDIkCCyAqQRVGDdcBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDIgCCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQyTAQsgAEEMNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIcCCyAqQRVGDdQBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDIYCCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQySAQsgAEENNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIUCCyAqQRVGDdEBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEqDIQCCyAAKAIEISogAEEANgIEAkAgACAqIAEQuYCAgAAiKg0AIAFBAWohAQyRAQsgAEEONgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDIMCCyAAQQA2AhwgACABNgIUIABBwJWAgAA2AhAgAEECNgIMQQAhKgyCAgsgKkEVRg3NASAAQQA2AhwgACABNgIUIABBxoyAgAA2AhAgAEEjNgIMQQAhKgyBAgsgAEEQNgIcIAAgATYCFCAAICo2AgxBACEqDIACCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQz4AQsgAEERNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDP8BCyAqQRVGDckBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEqDP4BCyAAKAIEISogAEEANgIEAkAgACAqIAEQuYCAgAAiKg0AIAFBAWohAQyOAQsgAEETNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDP0BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQuYCAgAAiBA0AIAFBAWohAQz0AQsgAEEUNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDPwBCyAqQRVGDcUBIABBADYCHCAAIAE2AhQgAEGaj4CAADYCECAAQSI2AgxBACEqDPsBCyAAKAIEISogAEEANgIEAkAgACAqIAEQt4CAgAAiKg0AIAFBAWohAQyMAQsgAEEWNgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDPoBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQt4CAgAAiBA0AIAFBAWohAQzwAQsgAEEXNgIcIAAgBDYCDCAAIAFBAWo2AhRBACEqDPkBCyAAQQA2AhwgACABNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhKgz4AQtCASErCyAqQQFqIQECQCAAKQMgIixC//////////8PVg0AIAAgLEIEhiArhDcDICABIQEMigELIABBADYCHCAAIAE2AhQgAEGtiYCAADYCECAAQQw2AgxBACEqDPYBCyAAQQA2AhwgACAqNgIUIABBzZOAgAA2AhAgAEEMNgIMQQAhKgz1AQsgACgCBCEyIABBADYCBCAqICunaiIvIQEgACAyICogLyAuGyIqELWAgIAAIi5FDXkgAEEFNgIcIAAgKjYCFCAAIC42AgxBACEqDPQBCyAAQQA2AhwgACAqNgIUIABBqpyAgAA2AhAgAEEPNgIMQQAhKgzzAQsgACAqIAIQtICAgAAiAQ0BICohAQtBDiEqDNgBCwJAIAFBFUcNACAAQQI2AhwgACAqNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhKgzxAQsgAEEANgIcIAAgKjYCFCAAQaeOgIAANgIQIABBEjYCDEEAISoM8AELIAFBAWohKgJAIAAvATAiAUGAAXFFDQACQCAAICogAhC7gICAACIBDQAgKiEBDHYLIAFBFUcNwgEgAEEFNgIcIAAgKjYCFCAAQfmXgIAANgIQIABBFTYCDEEAISoM8AELAkAgAUGgBHFBoARHDQAgAC0ALUECcQ0AIABBADYCHCAAICo2AhQgAEGWk4CAADYCECAAQQQ2AgxBACEqDPABCyAAICogAhC9gICAABogKiEBAkACQAJAAkACQCAAICogAhCzgICAAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIABBAToALgsgACAALwEwQcAAcjsBMCAqIQELQSYhKgzYAQsgAEEjNgIcIAAgKjYCFCAAQaWWgIAANgIQIABBFTYCDEEAISoM8AELIABBADYCHCAAICo2AhQgAEHVi4CAADYCECAAQRE2AgxBACEqDO8BCyAALQAtQQFxRQ0BQcMBISoM1QELAkAgJyACRg0AA0ACQCAnLQAAQSBGDQAgJyEBDNEBCyAnQQFqIicgAkcNAAtBJSEqDO4BC0ElISoM7QELIAAoAgQhASAAQQA2AgQgACABICcQr4CAgAAiAUUNtQEgAEEmNgIcIAAgATYCDCAAICdBAWo2AhRBACEqDOwBCyAqQRVGDbMBIABBADYCHCAAIAE2AhQgAEH9jYCAADYCECAAQR02AgxBACEqDOsBCyAAQSc2AhwgACABNgIUIAAgKjYCDEEAISoM6gELICohAUEBIS4CQAJAAkACQAJAAkACQCAALQAsQX5qDgcGBQUDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhLgwBC0EEIS4LIABBAToALCAAIAAvATAgLnI7ATALICohAQtBKyEqDNEBCyAAQQA2AhwgACAqNgIUIABBq5KAgAA2AhAgAEELNgIMQQAhKgzpAQsgAEEANgIcIAAgATYCFCAAQeGPgIAANgIQIABBCjYCDEEAISoM6AELIABBADoALCAqIQEMwgELICohAUEBIS4CQAJAAkACQAJAIAAtACxBe2oOBAMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEuDAELQQQhLgsgAEEBOgAsIAAgAC8BMCAucjsBMAsgKiEBC0EpISoMzAELIABBADYCHCAAIAE2AhQgAEHwlICAADYCECAAQQM2AgxBACEqDOQBCwJAICgtAABBDUcNACAAKAIEIQEgAEEANgIEAkAgACABICgQsYCAgAAiAQ0AIChBAWohAQx7CyAAQSw2AhwgACABNgIMIAAgKEEBajYCFEEAISoM5AELIAAtAC1BAXFFDQFBxAEhKgzKAQsCQCAoIAJHDQBBLSEqDOMBCwJAAkADQAJAICgtAABBdmoOBAIAAAMACyAoQQFqIiggAkcNAAtBLSEqDOQBCyAAKAIEIQEgAEEANgIEAkAgACABICgQsYCAgAAiAQ0AICghAQx6CyAAQSw2AhwgACAoNgIUIAAgATYCDEEAISoM4wELIAAoAgQhASAAQQA2AgQCQCAAIAEgKBCxgICAACIBDQAgKEEBaiEBDHkLIABBLDYCHCAAIAE2AgwgACAoQQFqNgIUQQAhKgziAQsgACgCBCEBIABBADYCBCAAIAEgKBCxgICAACIBDagBICghAQzVAQsgKkEsRw0BIAFBAWohKkEBIQECQAJAAkACQAJAIAAtACxBe2oOBAMBAgQACyAqIQEMBAtBAiEBDAELQQQhAQsgAEEBOgAsIAAgAC8BMCABcjsBMCAqIQEMAQsgACAALwEwQQhyOwEwICohAQtBOSEqDMYBCyAAQQA6ACwgASEBC0E0ISoMxAELIABBADYCACAvIDBrQQlqIQFBBSEqDL8BCyAAQQA2AgAgLyAwa0EGaiEBQQchKgy+AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzMAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEqDNkBCyAAQQg6ACwgASEBC0EwISoMvgELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2ZASABIQEMAwsgAC0AMEEgcQ2aAUHFASEqDLwBCwJAICkgAkYNAAJAA0ACQCApLQAAQVBqIgFB/wFxQQpJDQAgKSEBQTUhKgy/AQsgACkDICIrQpmz5syZs+bMGVYNASAAICtCCn4iKzcDICArIAGtIixCf4VCgH6EVg0BIAAgKyAsQv8Bg3w3AyAgKUEBaiIpIAJHDQALQTkhKgzWAQsgACgCBCEEIABBADYCBCAAIAQgKUEBaiIBELGAgIAAIgQNmwEgASEBDMgBC0E5ISoM1AELAkAgAC8BMCIBQQhxRQ0AIAAtAChBAUcNACAALQAtQQhxRQ2WAQsgACABQff7A3FBgARyOwEwICkhAQtBNyEqDLkBCyAAIAAvATBBEHI7ATAMrgELICpBFUYNkQEgAEEANgIcIAAgATYCFCAAQfCOgIAANgIQIABBHDYCDEEAISoM0AELIABBwwA2AhwgACABNgIMIAAgJ0EBajYCFEEAISoMzwELAkAgAS0AAEE6Rw0AIAAoAgQhKiAAQQA2AgQCQCAAICogARCvgICAACIqDQAgAUEBaiEBDGcLIABBwwA2AhwgACAqNgIMIAAgAUEBajYCFEEAISoMzwELIABBADYCHCAAIAE2AhQgAEGxkYCAADYCECAAQQo2AgxBACEqDM4BCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhKgzNAQsgAUEBaiEBCyAAQYASOwEqIAAgASACEKiAgIAAIioNASABIQELQccAISoMsQELICpBFUcNiQEgAEHRADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEqDMkBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxiCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDMgBCyAAQQA2AhwgACAuNgIUIABBwaiAgAA2AhAgAEEHNgIMIABBADYCAEEAISoMxwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDGELIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMxgELQQAhKiAAQQA2AhwgACABNgIUIABBgJGAgAA2AhAgAEEJNgIMDMUBCyAqQRVGDYMBIABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEqDMQBC0EBIS9BACEyQQAhLkEBISoLIAAgKjoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAvRQ0DDAILIC4NAQwCCyAyRQ0BCyAAKAIEISogAEEANgIEAkAgACAqIAEQrYCAgAAiKg0AIAEhAQxgCyAAQdgANgIcIAAgATYCFCAAICo2AgxBACEqDMMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQyyAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhKgzCAQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMsAELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAISoMwQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDK4BCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEqDMABC0EBISoLIAAgKjoAKiABQQFqIQEMXAsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqgELIABB3gA2AhwgACABNgIUIAAgBDYCDEEAISoMvQELIABBADYCACAyIC9rQQRqIQECQCAALQApQSNPDQAgASEBDFwLIABBADYCHCAAIAE2AhQgAEHTiYCAADYCECAAQQg2AgxBACEqDLwBCyAAQQA2AgALQQAhKiAAQQA2AhwgACABNgIUIABBkLOAgAA2AhAgAEEINgIMDLoBCyAAQQA2AgAgMiAva0EDaiEBAkAgAC0AKUEhRw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABBm4qAgAA2AhAgAEEINgIMQQAhKgy5AQsgAEEANgIAIDIgL2tBBGohAQJAIAAtACkiKkFdakELTw0AIAEhAQxYCwJAICpBBksNAEEBICp0QcoAcUUNACABIQEMWAtBACEqIABBADYCHCAAIAE2AhQgAEH3iYCAADYCECAAQQg2AgwMuAELICpBFUYNdSAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhKgy3AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVwsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgy2AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgy1AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgy0AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVAsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyzAQsgAEEANgIcIAAgATYCFCAAQcaKgIAANgIQIABBBzYCDEEAISoMsgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMsQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMsAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFALIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMrwELIABBADYCHCAAIAE2AhQgAEHciICAADYCECAAQQc2AgxBACEqDK4BCyAqQT9HDQEgAUEBaiEBC0EFISoMkwELQQAhKiAAQQA2AhwgACABNgIUIABB/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 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" \ No newline at end of file +module.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);\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\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 \"use strict\";\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 _UndiciError 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 UndiciError = _UndiciError;\n var _ConnectTimeoutError = class _ConnectTimeoutError 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 ConnectTimeoutError = _ConnectTimeoutError;\n var _HeadersTimeoutError = class _HeadersTimeoutError 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 HeadersTimeoutError = _HeadersTimeoutError;\n var _HeadersOverflowError = class _HeadersOverflowError 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 HeadersOverflowError = _HeadersOverflowError;\n var _BodyTimeoutError = class _BodyTimeoutError 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 BodyTimeoutError = _BodyTimeoutError;\n var _ResponseStatusCodeError = class _ResponseStatusCodeError 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 ResponseStatusCodeError = _ResponseStatusCodeError;\n var _InvalidArgumentError = class _InvalidArgumentError extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, _InvalidArgumentError);\n this.name = \"InvalidArgumentError\";\n this.message = message || \"Invalid Argument Error\";\n this.code = \"UND_ERR_INVALID_ARG\";\n }\n };\n __name(_InvalidArgumentError, \"InvalidArgumentError\");\n var InvalidArgumentError2 = _InvalidArgumentError;\n var _InvalidReturnValueError = class _InvalidReturnValueError 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 InvalidReturnValueError = _InvalidReturnValueError;\n var _RequestAbortedError = class _RequestAbortedError 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 RequestAbortedError = _RequestAbortedError;\n var _InformationalError = class _InformationalError 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 InformationalError = _InformationalError;\n var _RequestContentLengthMismatchError = class _RequestContentLengthMismatchError 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 RequestContentLengthMismatchError = _RequestContentLengthMismatchError;\n var _ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError 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 ResponseContentLengthMismatchError = _ResponseContentLengthMismatchError;\n var _ClientDestroyedError = class _ClientDestroyedError 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 ClientDestroyedError = _ClientDestroyedError;\n var _ClientClosedError = class _ClientClosedError 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 ClientClosedError = _ClientClosedError;\n var _SocketError = class _SocketError 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 SocketError = _SocketError;\n var _NotSupportedError = class _NotSupportedError 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 NotSupportedError = _NotSupportedError;\n var _BalancedPoolMissingUpstreamError = class _BalancedPoolMissingUpstreamError 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 BalancedPoolMissingUpstreamError = _BalancedPoolMissingUpstreamError;\n var _HTTPParserError = class _HTTPParserError 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 HTTPParserError = _HTTPParserError;\n var _ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError 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 var 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 \"use strict\";\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 _HeadersList {\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 HeadersList = _HeadersList;\n var _Headers = class _Headers {\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n \"Headers\",\n \"key\"\n );\n }\n values() {\n webidl.brandCheck(this, _Headers);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n \"Headers\",\n \"value\"\n );\n }\n entries() {\n webidl.brandCheck(this, _Headers);\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, _Headers);\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, _Headers);\n return this[kHeadersList];\n }\n };\n __name(_Headers, \"Headers\");\n var 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 _SBMH {\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 var 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 _HeaderParser {\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 HeaderParser = _HeaderParser;\n var _FileStream = class _FileStream 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 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 _Multipart 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 var 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 _URLEncoded 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 var 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 \"use strict\";\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 _File = class _File 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, _File);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, _File);\n return this[kState].lastModified;\n }\n get type() {\n webidl.brandCheck(this, _File);\n return this[kState].type;\n }\n };\n __name(_File, \"File\");\n var File2 = _File;\n var _FileLike = class _FileLike {\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 var 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 _FormData = class _FormData {\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n \"FormData\",\n \"key\"\n );\n }\n values() {\n webidl.brandCheck(this, _FormData);\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, _FormData);\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(_FormData, \"FormData\");\n var 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 _Response = class _Response {\n // Creates network error Response.\n static error() {\n const relevantRealm = { settingsObject: {} };\n const responseObject = new _Response();\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 _Response();\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 _Response();\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, _Response);\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, _Response);\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, _Response);\n return this[kState].urlList.length > 1;\n }\n // Returns response’s status.\n get status() {\n webidl.brandCheck(this, _Response);\n return this[kState].status;\n }\n // Returns whether response’s status is an ok status.\n get ok() {\n webidl.brandCheck(this, _Response);\n return this[kState].status >= 200 && this[kState].status <= 299;\n }\n // Returns response’s status message.\n get statusText() {\n webidl.brandCheck(this, _Response);\n return this[kState].statusText;\n }\n // Returns response’s headers as Headers.\n get headers() {\n webidl.brandCheck(this, _Response);\n return this[kHeaders2];\n }\n get body() {\n webidl.brandCheck(this, _Response);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, _Response);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n // Returns a clone of response.\n clone() {\n webidl.brandCheck(this, _Response);\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 _Response();\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(_Response, \"Response\");\n var 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 _CompatWeakRef {\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 CompatWeakRef = _CompatWeakRef;\n var _CompatFinalizer = class _CompatFinalizer {\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 var 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 \"use strict\";\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 _Request2 {\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 var Request2 = _Request2;\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 _Dispatcher 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 var 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 _DispatcherBase 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 var 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 _FixedCircularBuffer {\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 var FixedCircularBuffer = _FixedCircularBuffer;\n var _a;\n module2.exports = (_a = class {\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 }, __name(_a, \"FixedQueue\"), _a);\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 \"use strict\";\n init_define_process();\n var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols2();\n var kPool = Symbol(\"pool\");\n var _PoolStats = class _PoolStats {\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 var 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 _PoolBase 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 var 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 _Timeout {\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 var 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 _Request2 {\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 var Request2 = _Request2;\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 var _a, _b;\n if (global.FinalizationRegistry) {\n SessionCache = (_a = class {\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 }, __name(_a, \"WeakSessionCache\"), _a);\n } else {\n SessionCache = (_b = class {\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 }, __name(_b, \"SimpleSessionCache\"), _b);\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 _BodyAsyncIterable {\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 BodyAsyncIterable = _BodyAsyncIterable;\n var _RedirectHandler = class _RedirectHandler {\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 var 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 \"use strict\";\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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AQtBwQEhKgsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKg7HAQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHh8gISMlKD9AQURFRkdISUpLTE1PUFFSU+MDV1lbXF1gYmVmZ2hpamtsbW9wcXJzdHV2d3h5ent8fX6AAYIBhQGGAYcBiQGLAYwBjQGOAY8BkAGRAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wGZAqQCsgKEA4QDCyABIgQgAkcN8wFB3QEhKgyGBAsgASIqIAJHDd0BQcMBISoMhQQLIAEiASACRw2QAUH3ACEqDIQECyABIgEgAkcNhgFB7wAhKgyDBAsgASIBIAJHDX9B6gAhKgyCBAsgASIBIAJHDXtB6AAhKgyBBAsgASIBIAJHDXhB5gAhKgyABAsgASIBIAJHDRpBGCEqDP8DCyABIgEgAkcNFEESISoM/gMLIAEiASACRw1ZQcUAISoM/QMLIAEiASACRw1KQT8hKgz8AwsgASIBIAJHDUhBPCEqDPsDCyABIgEgAkcNQUExISoM+gMLIAAtAC5BAUYN8gMMhwILIAAgASIBIAIQwICAgABBAUcN5gEgAEIANwMgDOcBCyAAIAEiASACELSAgIAAIioN5wEgASEBDPsCCwJAIAEiASACRw0AQQYhKgz3AwsgACABQQFqIgEgAhC7gICAACIqDegBIAEhAQwxCyAAQgA3AyBBEiEqDNwDCyABIiogAkcNK0EdISoM9AMLAkAgASIBIAJGDQAgAUEBaiEBQRAhKgzbAwtBByEqDPMDCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDeUBQQghKgzyAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBFCEqDNkDC0EJISoM8QMLIAEhASAAKQMgUA3kASABIQEM+AILAkAgASIBIAJHDQBBCyEqDPADCyAAIAFBAWoiASACELaAgIAAIioN5QEgASEBDPgCCyAAIAEiASACELiAgIAAIioN5QEgASEBDPgCCyAAIAEiASACELiAgIAAIioN5gEgASEBDA0LIAAgASIBIAIQuoCAgAAiKg3nASABIQEM9gILAkAgASIBIAJHDQBBDyEqDOwDCyABLQAAIipBO0YNCCAqQQ1HDegBIAFBAWohAQz1AgsgACABIgEgAhC6gICAACIqDegBIAEhAQz4AgsDQAJAIAEtAABB8LWAgABqLQAAIipBAUYNACAqQQJHDesBIAAoAgQhKiAAQQA2AgQgACAqIAFBAWoiARC5gICAACIqDeoBIAEhAQz6AgsgAUEBaiIBIAJHDQALQRIhKgzpAwsgACABIgEgAhC6gICAACIqDekBIAEhAQwKCyABIgEgAkcNBkEbISoM5wMLAkAgASIBIAJHDQBBFiEqDOcDCyAAQYqAgIAANgIIIAAgATYCBCAAIAEgAhC4gICAACIqDeoBIAEhAUEgISoMzQMLAkAgASIBIAJGDQADQAJAIAEtAABB8LeAgABqLQAAIipBAkYNAAJAICpBf2oOBOUB7AEA6wHsAQsgAUEBaiEBQQghKgzPAwsgAUEBaiIBIAJHDQALQRUhKgzmAwtBFSEqDOUDCwNAAkAgAS0AAEHwuYCAAGotAAAiKkECRg0AICpBf2oOBN4B7AHgAesB7AELIAFBAWoiASACRw0AC0EYISoM5AMLAkAgASIBIAJGDQAgAEGLgICAADYCCCAAIAE2AgQgASEBQQchKgzLAwtBGSEqDOMDCyABQQFqIQEMAgsCQCABIi4gAkcNAEEaISoM4gMLIC4hAQJAIC4tAABBc2oOFOMC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQC9AL0AvQCAPQCC0EAISogAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgLkEBajYCFAzhAwsCQCABLQAAIipBO0YNACAqQQ1HDegBIAFBAWohAQzrAgsgAUEBaiEBC0EiISoMxgMLAkAgASIqIAJHDQBBHCEqDN8DC0IAISsgKiEBICotAABBUGoON+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+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 \"use strict\";\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 _Client 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 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 _Parser {\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 var 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 _AsyncWriter {\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 var 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 _Pool 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 var 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 _Agent = class _Agent 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(_Agent, \"Agent\");\n var 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 _Fetch 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 var 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 _eventInit;\n var _MessageEvent = class _MessageEvent extends Event {\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 __privateAdd(this, _eventInit, void 0);\n __privateSet(this, _eventInit, eventInitDict);\n }\n get data() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).data;\n }\n get origin() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).origin;\n }\n get lastEventId() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).lastEventId;\n }\n get source() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).source;\n }\n get ports() {\n webidl.brandCheck(this, _MessageEvent);\n if (!Object.isFrozen(__privateGet(this, _eventInit).ports)) {\n Object.freeze(__privateGet(this, _eventInit).ports);\n }\n return __privateGet(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 _eventInit = new WeakMap();\n __name(_MessageEvent, \"MessageEvent\");\n var MessageEvent = _MessageEvent;\n var _eventInit2;\n var _CloseEvent = class _CloseEvent extends Event {\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 __privateAdd(this, _eventInit2, void 0);\n __privateSet(this, _eventInit2, eventInitDict);\n }\n get wasClean() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).wasClean;\n }\n get code() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).code;\n }\n get reason() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).reason;\n }\n };\n _eventInit2 = new WeakMap();\n __name(_CloseEvent, \"CloseEvent\");\n var CloseEvent = _CloseEvent;\n var _eventInit3;\n var _ErrorEvent = class _ErrorEvent extends Event {\n constructor(type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: \"ErrorEvent constructor\" });\n super(type, eventInitDict);\n __privateAdd(this, _eventInit3, void 0);\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});\n __privateSet(this, _eventInit3, eventInitDict);\n }\n get message() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).message;\n }\n get filename() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).filename;\n }\n get lineno() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).lineno;\n }\n get colno() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).colno;\n }\n get error() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).error;\n }\n };\n _eventInit3 = new WeakMap();\n __name(_ErrorEvent, \"ErrorEvent\");\n var 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 _WebsocketFrameSend {\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 var 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 _buffers, _byteOffset, _state, _info, _fragments;\n var _ByteParser = class _ByteParser extends Writable {\n constructor(ws) {\n super();\n __privateAdd(this, _buffers, []);\n __privateAdd(this, _byteOffset, 0);\n __privateAdd(this, _state, parserStates.INFO);\n __privateAdd(this, _info, {});\n __privateAdd(this, _fragments, []);\n this.ws = ws;\n }\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write(chunk, _, callback) {\n __privateGet(this, _buffers).push(chunk);\n __privateSet(this, _byteOffset, __privateGet(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 (__privateGet(this, _state) === parserStates.INFO) {\n if (__privateGet(this, _byteOffset) < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n __privateGet(this, _info).fin = (buffer[0] & 128) !== 0;\n __privateGet(this, _info).opcode = buffer[0] & 15;\n (_a = __privateGet(this, _info)).originalOpcode ?? (_a.originalOpcode = __privateGet(this, _info).opcode);\n __privateGet(this, _info).fragmented = !__privateGet(this, _info).fin && __privateGet(this, _info).opcode !== opcodes.CONTINUATION;\n if (__privateGet(this, _info).fragmented && __privateGet(this, _info).opcode !== opcodes.BINARY && __privateGet(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 __privateGet(this, _info).payloadLength = payloadLength;\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (payloadLength === 126) {\n __privateSet(this, _state, parserStates.PAYLOADLENGTH_16);\n } else if (payloadLength === 127) {\n __privateSet(this, _state, parserStates.PAYLOADLENGTH_64);\n }\n if (__privateGet(this, _info).fragmented && payloadLength > 125) {\n failWebsocketConnection(this.ws, \"Fragmented frame exceeded 125 bytes.\");\n return;\n } else if ((__privateGet(this, _info).opcode === opcodes.PING || __privateGet(this, _info).opcode === opcodes.PONG || __privateGet(this, _info).opcode === opcodes.CLOSE) && payloadLength > 125) {\n failWebsocketConnection(this.ws, \"Payload length for control frame exceeded 125 bytes.\");\n return;\n } else if (__privateGet(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 __privateGet(this, _info).closeInfo = this.parseCloseBody(false, body);\n if (!this.ws[kSentClose]) {\n const body2 = Buffer.allocUnsafe(2);\n body2.writeUInt16BE(__privateGet(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 (__privateGet(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 __privateSet(this, _state, parserStates.INFO);\n if (__privateGet(this, _byteOffset) > 0) {\n continue;\n } else {\n callback();\n return;\n }\n } else if (__privateGet(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 (__privateGet(this, _byteOffset) > 0) {\n continue;\n } else {\n callback();\n return;\n }\n }\n } else if (__privateGet(this, _state) === parserStates.PAYLOADLENGTH_16) {\n if (__privateGet(this, _byteOffset) < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n __privateGet(this, _info).payloadLength = buffer.readUInt16BE(0);\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (__privateGet(this, _state) === parserStates.PAYLOADLENGTH_64) {\n if (__privateGet(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 __privateGet(this, _info).payloadLength = (upper << 8) + lower;\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (__privateGet(this, _state) === parserStates.READ_DATA) {\n if (__privateGet(this, _byteOffset) < __privateGet(this, _info).payloadLength) {\n return callback();\n } else if (__privateGet(this, _byteOffset) >= __privateGet(this, _info).payloadLength) {\n const body = this.consume(__privateGet(this, _info).payloadLength);\n __privateGet(this, _fragments).push(body);\n if (!__privateGet(this, _info).fragmented || __privateGet(this, _info).fin && __privateGet(this, _info).opcode === opcodes.CONTINUATION) {\n const fullMessage = Buffer.concat(__privateGet(this, _fragments));\n websocketMessageReceived(this.ws, __privateGet(this, _info).originalOpcode, fullMessage);\n __privateSet(this, _info, {});\n __privateGet(this, _fragments).length = 0;\n }\n __privateSet(this, _state, parserStates.INFO);\n }\n }\n if (__privateGet(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 > __privateGet(this, _byteOffset)) {\n return null;\n } else if (n === 0) {\n return emptyBuffer;\n }\n if (__privateGet(this, _buffers)[0].length === n) {\n __privateSet(this, _byteOffset, __privateGet(this, _byteOffset) - __privateGet(this, _buffers)[0].length);\n return __privateGet(this, _buffers).shift();\n }\n const buffer = Buffer.allocUnsafe(n);\n let offset = 0;\n while (offset !== n) {\n const next = __privateGet(this, _buffers)[0];\n const { length } = next;\n if (length + offset === n) {\n buffer.set(__privateGet(this, _buffers).shift(), offset);\n break;\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset);\n __privateGet(this, _buffers)[0] = next.subarray(n - offset);\n break;\n } else {\n buffer.set(__privateGet(this, _buffers).shift(), offset);\n offset += next.length;\n }\n }\n __privateSet(this, _byteOffset, __privateGet(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 __privateGet(this, _info).closeInfo;\n }\n };\n _buffers = new WeakMap();\n _byteOffset = new WeakMap();\n _state = new WeakMap();\n _info = new WeakMap();\n _fragments = new WeakMap();\n __name(_ByteParser, \"ByteParser\");\n var 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 _events, _bufferedAmount, _protocol, _extensions, _onConnectionEstablished, onConnectionEstablished_fn;\n var _WebSocket = class _WebSocket extends EventTarget {\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor(url, protocols = []) {\n super();\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n __privateAdd(this, _onConnectionEstablished);\n __privateAdd(this, _events, {\n open: null,\n error: null,\n close: null,\n message: null\n });\n __privateAdd(this, _bufferedAmount, 0);\n __privateAdd(this, _protocol, \"\");\n __privateAdd(this, _extensions, \"\");\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) => __privateMethod(this, _onConnectionEstablished, onConnectionEstablished_fn).call(this, response),\n options\n );\n this[kReadyState] = _WebSocket.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, _WebSocket);\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] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {\n } else if (!isEstablished(this)) {\n failWebsocketConnection(this, \"Connection was closed before it was established.\");\n this[kReadyState] = _WebSocket.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] = _WebSocket.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, _WebSocket);\n webidl.argumentLengthCheck(arguments, 1, { header: \"WebSocket.send\" });\n data = webidl.converters.WebSocketSendData(data);\n if (this[kReadyState] === _WebSocket.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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + ab.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) - value.byteLength);\n });\n });\n }\n }\n get readyState() {\n webidl.brandCheck(this, _WebSocket);\n return this[kReadyState];\n }\n get bufferedAmount() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _bufferedAmount);\n }\n get url() {\n webidl.brandCheck(this, _WebSocket);\n return URLSerializer(this[kWebSocketURL]);\n }\n get extensions() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _extensions);\n }\n get protocol() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _protocol);\n }\n get onopen() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).open;\n }\n set onopen(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).open) {\n this.removeEventListener(\"open\", __privateGet(this, _events).open);\n }\n if (typeof fn === \"function\") {\n __privateGet(this, _events).open = fn;\n this.addEventListener(\"open\", fn);\n } else {\n __privateGet(this, _events).open = null;\n }\n }\n get onerror() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).error;\n }\n set onerror(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).error) {\n this.removeEventListener(\"error\", __privateGet(this, _events).error);\n }\n if (typeof fn === \"function\") {\n __privateGet(this, _events).error = fn;\n this.addEventListener(\"error\", fn);\n } else {\n __privateGet(this, _events).error = null;\n }\n }\n get onclose() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).close;\n }\n set onclose(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).close) {\n this.removeEventListener(\"close\", __privateGet(this, _events).close);\n }\n if (typeof fn === \"function\") {\n __privateGet(this, _events).close = fn;\n this.addEventListener(\"close\", fn);\n } else {\n __privateGet(this, _events).close = null;\n }\n }\n get onmessage() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).message;\n }\n set onmessage(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).message) {\n this.removeEventListener(\"message\", __privateGet(this, _events).message);\n }\n if (typeof fn === \"function\") {\n __privateGet(this, _events).message = fn;\n this.addEventListener(\"message\", fn);\n } else {\n __privateGet(this, _events).message = null;\n }\n }\n get binaryType() {\n webidl.brandCheck(this, _WebSocket);\n return this[kBinaryType];\n }\n set binaryType(type) {\n webidl.brandCheck(this, _WebSocket);\n if (type !== \"blob\" && type !== \"arraybuffer\") {\n this[kBinaryType] = \"blob\";\n } else {\n this[kBinaryType] = type;\n }\n }\n };\n _events = new WeakMap();\n _bufferedAmount = new WeakMap();\n _protocol = new WeakMap();\n _extensions = new WeakMap();\n _onConnectionEstablished = new WeakSet();\n onConnectionEstablished_fn = /* @__PURE__ */ __name(function(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 __privateSet(this, _extensions, extensions);\n }\n const protocol = response.headersList.get(\"sec-websocket-protocol\");\n if (protocol !== null) {\n __privateSet(this, _protocol, protocol);\n }\n fireEvent(\"open\", this);\n }, \"#onConnectionEstablished\");\n __name(_WebSocket, \"WebSocket\");\n var 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 _Request extends import_request.Request {\n constructor(input, init) {\n super(input, addDuplexToInit(init));\n }\n};\n__name(_Request, \"Request\");\nvar 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" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/package.json b/packages/next/src/compiled/@edge-runtime/primitives/package.json index c251aad7d0d62..6e9cf78a9bcfb 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/package.json +++ b/packages/next/src/compiled/@edge-runtime/primitives/package.json @@ -1 +1 @@ -{"name":"@edge-runtime/primitives","version":"3.0.1","main":"./index.js","license":"MPL-2.0"} +{"name":"@edge-runtime/primitives","version":"3.0.4","main":"./index.js","license":"MPL-2.0"} diff --git a/packages/next/src/compiled/@edge-runtime/primitives/streams.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/streams.js.text.js index 280798b95df79..18351ad3810ce 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/streams.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/streams.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 _S {\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 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 _ReadableStreamDefaultReader {\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\");\nvar 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 _te {\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 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 _ReadableStreamBYOBRequest {\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\");\nvar 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 _ReadableByteStreamController {\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\");\nvar 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 _ReadableStreamBYOBReader {\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\");\nvar 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 _WritableStream {\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\");\nvar 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 _WritableStreamDefaultWriter {\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\");\nvar 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 _WritableStreamDefaultController {\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\");\nvar 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 _ReadableStreamDefaultController {\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\");\nvar 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 _ReadableStream {\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\");\nvar 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 _ByteLengthQueuingStrategy {\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\");\nvar 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 _CountQueuingStrategy {\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\");\nvar 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 _TransformStream {\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\");\nvar 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 _TransformStreamDefaultController {\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\");\nvar 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" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/text-encoding-streams.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/text-encoding-streams.js.text.js index f44599a90543c..9ed33269e542c 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/text-encoding-streams.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/text-encoding-streams.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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 _TextDecodeTransformer {\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 TextDecodeTransformer = _TextDecodeTransformer;\nvar _TextDecoderStream = class _TextDecoderStream {\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 TextDecoderStream = _TextDecoderStream;\nvar encEncoder = Symbol(\"encEncoder\");\nvar encTransform = Symbol(\"encTransform\");\nvar _TextEncodeTransformer = class _TextEncodeTransformer {\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 TextEncodeTransformer = _TextEncodeTransformer;\nvar _TextEncoderStream = class _TextEncoderStream {\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\");\nvar TextEncoderStream = _TextEncoderStream;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n TextDecoderStream,\n TextEncoderStream\n});\n" \ No newline at end of file diff --git a/packages/next/src/compiled/@edge-runtime/primitives/url.js.text.js b/packages/next/src/compiled/@edge-runtime/primitives/url.js.text.js index d272e7153ca05..7f79127538a60 100644 --- a/packages/next/src/compiled/@edge-runtime/primitives/url.js.text.js +++ b/packages/next/src/compiled/@edge-runtime/primitives/url.js.text.js @@ -1 +1 @@ -module.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" \ No newline at end of file +module.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);\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, \"read from private field\");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError(\"Cannot add the same private member more than once\");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, \"write to private field\");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, \"access private method\");\n return method;\n};\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 _a;\nvar k = (_a = 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}, __name(_a, \"k\"), _a);\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 _i, _n, _t, _e, _s, _u, _c, _p, _d, _g, _r, r_fn, _k, k_fn, _P, P_fn, _f, f_fn, _m, m_fn, _a2, a_fn, _S, S_fn, _E, E_fn, _x, x_fn, _R, R_fn, _y, y_fn, _b, b_fn, _h, h_fn, _l, l_fn, _O, O_fn, _T, T_fn, _A, A_fn, _w, w_fn, _o, o_fn, _C, C_fn, _a3;\nvar U = (_a3 = class {\n constructor(t) {\n __privateAdd(this, _r);\n __privateAdd(this, _k);\n __privateAdd(this, _P);\n __privateAdd(this, _f);\n __privateAdd(this, _m);\n __privateAdd(this, _a2);\n __privateAdd(this, _S);\n __privateAdd(this, _E);\n __privateAdd(this, _x);\n __privateAdd(this, _R);\n __privateAdd(this, _y);\n __privateAdd(this, _b);\n __privateAdd(this, _h);\n __privateAdd(this, _l);\n __privateAdd(this, _O);\n __privateAdd(this, _T);\n __privateAdd(this, _A);\n __privateAdd(this, _w);\n __privateAdd(this, _o);\n __privateAdd(this, _C);\n __privateAdd(this, _i, void 0);\n __privateAdd(this, _n, []);\n __privateAdd(this, _t, {});\n __privateAdd(this, _e, 0);\n __privateAdd(this, _s, 1);\n __privateAdd(this, _u, 0);\n __privateAdd(this, _c, 0);\n __privateAdd(this, _p, 0);\n __privateAdd(this, _d, 0);\n __privateAdd(this, _g, false);\n __privateSet(this, _i, t);\n }\n get result() {\n return __privateGet(this, _t);\n }\n parse() {\n for (__privateSet(this, _n, v(__privateGet(this, _i), true)); __privateGet(this, _e) < __privateGet(this, _n).length; __privateSet(this, _e, __privateGet(this, _e) + __privateGet(this, _s))) {\n if (__privateSet(this, _s, 1), __privateGet(this, _n)[__privateGet(this, _e)].type === \"END\") {\n if (__privateGet(this, _c) === 0) {\n __privateMethod(this, _P, P_fn).call(this), __privateMethod(this, _l, l_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 9, 1) : __privateMethod(this, _h, h_fn).call(this) ? (__privateMethod(this, _r, r_fn).call(this, 8, 1), __privateGet(this, _t).hash = \"\") : (__privateMethod(this, _r, r_fn).call(this, 7, 0), __privateGet(this, _t).search = \"\", __privateGet(this, _t).hash = \"\");\n continue;\n } else if (__privateGet(this, _c) === 2) {\n __privateMethod(this, _f, f_fn).call(this, 5);\n continue;\n }\n __privateMethod(this, _r, r_fn).call(this, 10, 0);\n break;\n }\n if (__privateGet(this, _p) > 0)\n if (__privateMethod(this, _T, T_fn).call(this))\n __privateSet(this, _p, __privateGet(this, _p) - 1);\n else\n continue;\n if (__privateMethod(this, _O, O_fn).call(this)) {\n __privateSet(this, _p, __privateGet(this, _p) + 1);\n continue;\n }\n switch (__privateGet(this, _c)) {\n case 0:\n __privateMethod(this, _S, S_fn).call(this) && (__privateGet(this, _t).username = \"\", __privateGet(this, _t).password = \"\", __privateGet(this, _t).hostname = \"\", __privateGet(this, _t).port = \"\", __privateGet(this, _t).pathname = \"\", __privateGet(this, _t).search = \"\", __privateGet(this, _t).hash = \"\", __privateMethod(this, _f, f_fn).call(this, 1));\n break;\n case 1:\n if (__privateMethod(this, _S, S_fn).call(this)) {\n __privateMethod(this, _C, C_fn).call(this);\n let t = 7, r = 1;\n __privateGet(this, _g) && (__privateGet(this, _t).pathname = \"/\"), __privateMethod(this, _E, E_fn).call(this) ? (t = 2, r = 3) : __privateGet(this, _g) && (t = 2), __privateMethod(this, _r, r_fn).call(this, t, r);\n }\n break;\n case 2:\n __privateMethod(this, _x, x_fn).call(this) ? __privateMethod(this, _f, f_fn).call(this, 3) : (__privateMethod(this, _b, b_fn).call(this) || __privateMethod(this, _h, h_fn).call(this) || __privateMethod(this, _l, l_fn).call(this)) && __privateMethod(this, _f, f_fn).call(this, 5);\n break;\n case 3:\n __privateMethod(this, _R, R_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 4, 1) : __privateMethod(this, _x, x_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 5, 1);\n break;\n case 4:\n __privateMethod(this, _x, x_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 5, 1);\n break;\n case 5:\n __privateMethod(this, _A, A_fn).call(this) ? __privateSet(this, _d, __privateGet(this, _d) + 1) : __privateMethod(this, _w, w_fn).call(this) && __privateSet(this, _d, __privateGet(this, _d) - 1), __privateMethod(this, _y, y_fn).call(this) && !__privateGet(this, _d) ? __privateMethod(this, _r, r_fn).call(this, 6, 1) : __privateMethod(this, _b, b_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 7, 0) : __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 6:\n __privateMethod(this, _b, b_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 7, 0) : __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 7:\n __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 8:\n __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n }\n}, _i = new WeakMap(), _n = new WeakMap(), _t = new WeakMap(), _e = new WeakMap(), _s = new WeakMap(), _u = new WeakMap(), _c = new WeakMap(), _p = new WeakMap(), _d = new WeakMap(), _g = new WeakMap(), _r = new WeakSet(), r_fn = /* @__PURE__ */ __name(function(t, r) {\n switch (__privateGet(this, _c)) {\n case 0:\n break;\n case 1:\n __privateGet(this, _t).protocol = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 2:\n break;\n case 3:\n __privateGet(this, _t).username = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 4:\n __privateGet(this, _t).password = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 5:\n __privateGet(this, _t).hostname = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 6:\n __privateGet(this, _t).port = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 7:\n __privateGet(this, _t).pathname = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 8:\n __privateGet(this, _t).search = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 9:\n __privateGet(this, _t).hash = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 10:\n break;\n }\n __privateMethod(this, _k, k_fn).call(this, t, r);\n}, \"#r\"), _k = new WeakSet(), k_fn = /* @__PURE__ */ __name(function(t, r) {\n __privateSet(this, _c, t), __privateSet(this, _u, __privateGet(this, _e) + r), __privateSet(this, _e, __privateGet(this, _e) + r), __privateSet(this, _s, 0);\n}, \"#k\"), _P = new WeakSet(), P_fn = /* @__PURE__ */ __name(function() {\n __privateSet(this, _e, __privateGet(this, _u)), __privateSet(this, _s, 0);\n}, \"#P\"), _f = new WeakSet(), f_fn = /* @__PURE__ */ __name(function(t) {\n __privateMethod(this, _P, P_fn).call(this), __privateSet(this, _c, t);\n}, \"#f\"), _m = new WeakSet(), m_fn = /* @__PURE__ */ __name(function(t) {\n return t < 0 && (t = __privateGet(this, _n).length - t), t < __privateGet(this, _n).length ? __privateGet(this, _n)[t] : __privateGet(this, _n)[__privateGet(this, _n).length - 1];\n}, \"#m\"), _a2 = new WeakSet(), a_fn = /* @__PURE__ */ __name(function(t, r) {\n let n = __privateMethod(this, _m, m_fn).call(this, t);\n return n.value === r && (n.type === \"CHAR\" || n.type === \"ESCAPED_CHAR\" || n.type === \"INVALID_CHAR\");\n}, \"#a\"), _S = new WeakSet(), S_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \":\");\n}, \"#S\"), _E = new WeakSet(), E_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e) + 1, \"/\") && __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e) + 2, \"/\");\n}, \"#E\"), _x = new WeakSet(), x_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"@\");\n}, \"#x\"), _R = new WeakSet(), R_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \":\");\n}, \"#R\"), _y = new WeakSet(), y_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \":\");\n}, \"#y\"), _b = new WeakSet(), b_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"/\");\n}, \"#b\"), _h = new WeakSet(), h_fn = /* @__PURE__ */ __name(function() {\n if (__privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"?\"))\n return true;\n if (__privateGet(this, _n)[__privateGet(this, _e)].value !== \"?\")\n return false;\n let t = __privateMethod(this, _m, m_fn).call(this, __privateGet(this, _e) - 1);\n return t.type !== \"NAME\" && t.type !== \"REGEX\" && t.type !== \"CLOSE\" && t.type !== \"ASTERISK\";\n}, \"#h\"), _l = new WeakSet(), l_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"#\");\n}, \"#l\"), _O = new WeakSet(), O_fn = /* @__PURE__ */ __name(function() {\n return __privateGet(this, _n)[__privateGet(this, _e)].type == \"OPEN\";\n}, \"#O\"), _T = new WeakSet(), T_fn = /* @__PURE__ */ __name(function() {\n return __privateGet(this, _n)[__privateGet(this, _e)].type == \"CLOSE\";\n}, \"#T\"), _A = new WeakSet(), A_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"[\");\n}, \"#A\"), _w = new WeakSet(), w_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), \"]\");\n}, \"#w\"), _o = new WeakSet(), o_fn = /* @__PURE__ */ __name(function() {\n let t = __privateGet(this, _n)[__privateGet(this, _e)], r = __privateMethod(this, _m, m_fn).call(this, __privateGet(this, _u)).index;\n return __privateGet(this, _i).substring(r, t.index);\n}, \"#o\"), _C = new WeakSet(), C_fn = /* @__PURE__ */ __name(function() {\n let t = {};\n Object.assign(t, b), t.encodePart = A;\n let r = Z(__privateMethod(this, _o, o_fn).call(this), void 0, t);\n __privateSet(this, _g, N(r));\n}, \"#C\"), __name(_a3, \"U\"), _a3);\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 _i2, _n2, _t2, _e2, _s2, _a4;\nvar me = (_a4 = class {\n constructor(t = {}, r, n) {\n __privateAdd(this, _i2, void 0);\n __privateAdd(this, _n2, {});\n __privateAdd(this, _t2, {});\n __privateAdd(this, _e2, {});\n __privateAdd(this, _s2, {});\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 __privateSet(this, _i2, w(l, t, true)), _(__privateGet(this, _i2).protocol) === __privateGet(this, _i2).port && (__privateGet(this, _i2).port = \"\");\n let s;\n for (s of V) {\n if (!(s in __privateGet(this, _i2)))\n continue;\n let i = {}, a = __privateGet(this, _i2)[s];\n switch (__privateGet(this, _t2)[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(__privateGet(this, _n2).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 __privateGet(this, _s2)[s] = D(a, i), __privateGet(this, _n2)[s] = F(__privateGet(this, _s2)[s], __privateGet(this, _t2)[s], i), __privateGet(this, _e2)[s] = ye(__privateGet(this, _s2)[s], i);\n } catch {\n throw new TypeError(`invalid ${s} pattern '${__privateGet(this, _i2)[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 (!__privateGet(this, _n2)[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 = __privateGet(this, _n2)[c].exec(n[c]);\n if (!l)\n return null;\n let s = {};\n for (let [i, a] of __privateGet(this, _t2)[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 !__privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? 0 : __privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? s(__privateGet(r, _s2)[t], [l]) : !__privateGet(r, _e2)[t] && __privateGet(n, _e2)[t] ? s([l], __privateGet(n, _s2)[t]) : s(__privateGet(r, _s2)[t], __privateGet(n, _s2)[t]);\n }\n get protocol() {\n return __privateGet(this, _e2).protocol;\n }\n get username() {\n return __privateGet(this, _e2).username;\n }\n get password() {\n return __privateGet(this, _e2).password;\n }\n get hostname() {\n return __privateGet(this, _e2).hostname;\n }\n get port() {\n return __privateGet(this, _e2).port;\n }\n get pathname() {\n return __privateGet(this, _e2).pathname;\n }\n get search() {\n return __privateGet(this, _e2).search;\n }\n get hash() {\n return __privateGet(this, _e2).hash;\n }\n}, _i2 = new WeakMap(), _n2 = new WeakMap(), _t2 = new WeakMap(), _e2 = new WeakMap(), _s2 = new WeakMap(), __name(_a4, \"me\"), _a4);\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" \ No newline at end of file diff --git a/packages/next/src/compiled/edge-runtime/index.js b/packages/next/src/compiled/edge-runtime/index.js index 171e32a1bcd17..fa7345fd5d2ba 100644 --- a/packages/next/src/compiled/edge-runtime/index.js +++ b/packages/next/src/compiled/edge-runtime/index.js @@ -1 +1 @@ -(()=>{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/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAAMBBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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EGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvc9wEDKH8DfgV/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8gASEQIAEhESABIRIgASETIAEhFCABIRUgASEWIAEhFyABIRggASEZIAEhGiABIRsgASEcIAEhHSABIR4gASEfIAEhICABISEgASEiIAEhIyABISQgASElIAEhJiABIScgASEoIAEhKQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIipBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4B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AQtBwQEhKgsDQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA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UGoON+cB5gEBAgMEBQYHCAAAAAAAAAAJCgsMDQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8QERITFAALQR4hKgzEAwtCAiErDOUBC0IDISsM5AELQgQhKwzjAQtCBSErDOIBC0IGISsM4QELQgchKwzgAQtCCCErDN8BC0IJISsM3gELQgohKwzdAQtCCyErDNwBC0IMISsM2wELQg0hKwzaAQtCDiErDNkBC0IPISsM2AELQgohKwzXAQtCCyErDNYBC0IMISsM1QELQg0hKwzUAQtCDiErDNMBC0IPISsM0gELQgAhKwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgKi0AAEFQag435QHkAQABAgMEBQYH5gHmAeYB5gHmAeYB5gEICQoLDA3mAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYBDg8QERIT5gELQgIhKwzkAQtCAyErDOMBC0IEISsM4gELQgUhKwzhAQtCBiErDOABC0IHISsM3wELQgghKwzeAQtCCSErDN0BC0IKISsM3AELQgshKwzbAQtCDCErDNoBC0INISsM2QELQg4hKwzYAQtCDyErDNcBC0IKISsM1gELQgshKwzVAQtCDCErDNQBC0INISsM0wELQg4hKwzSAQtCDyErDNEBCyAAQgAgACkDICIrIAIgASIqa60iLH0iLSAtICtWGzcDICArICxWIi5FDdIBQR8hKgzHAwsCQCABIgEgAkYNACAAQYmAgIAANgIIIAAgATYCBCABIQFBJCEqDK4DC0EgISoMxgMLIAAgASIqIAIQvoCAgABBf2oOBbYBAMsCAdEB0gELQREhKgyrAwsgAEEBOgAvICohAQzCAwsgASIBIAJHDdIBQSQhKgzCAwsgASInIAJHDR5BxgAhKgzBAwsgACABIgEgAhCygICAACIqDdQBIAEhAQy1AQsgASIqIAJHDSZB0AAhKgy/AwsCQCABIgEgAkcNAEEoISoMvwMLIABBADYCBCAAQYyAgIAANgIIIAAgASABELGAgIAAIioN0wEgASEBDNgBCwJAIAEiKiACRw0AQSkhKgy+AwsgKi0AACIBQSBGDRQgAUEJRw3TASAqQQFqIQEMFQsCQCABIgEgAkYNACABQQFqIQEMFwtBKiEqDLwDCwJAIAEiKiACRw0AQSshKgy8AwsCQCAqLQAAIgFBCUYNACABQSBHDdUBCyAALQAsQQhGDdMBICohAQyWAwsCQCABIgEgAkcNAEEsISoMuwMLIAEtAABBCkcN1QEgAUEBaiEBDM8CCyABIiggAkcN1QFBLyEqDLkDCwNAAkAgAS0AACIqQSBGDQACQCAqQXZqDgQA3AHcAQDaAQsgASEBDOIBCyABQQFqIgEgAkcNAAtBMSEqDLgDC0EyISogASIvIAJGDbcDIAIgL2sgACgCACIwaiExIC8hMiAwIQECQANAIDItAAAiLkEgciAuIC5Bv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BIAFBA0YNmwMgAUEBaiEBIDJBAWoiMiACRw0ACyAAIDE2AgAMuAMLIABBADYCACAyIQEM2QELQTMhKiABIi8gAkYNtgMgAiAvayAAKAIAIjBqITEgLyEyIDAhAQJAA0AgMi0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUH0u4CAAGotAABHDQEgAUEIRg3bASABQQFqIQEgMkEBaiIyIAJHDQALIAAgMTYCAAy3AwsgAEEANgIAIDIhAQzYAQtBNCEqIAEiLyACRg21AyACIC9rIAAoAgAiMGohMSAvITIgMCEBAkADQCAyLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcNASABQQVGDdsBIAFBAWohASAyQQFqIjIgAkcNAAsgACAxNgIADLYDCyAAQQA2AgAgMiEBDNcBCwJAIAEiASACRg0AA0ACQCABLQAAQYC+gIAAai0AACIqQQFGDQAgKkECRg0KIAEhAQzfAQsgAUEBaiIBIAJHDQALQTAhKgy1AwtBMCEqDLQDCwJAIAEiASACRg0AA0ACQCABLQAAIipBIEYNACAqQXZqDgTbAdwB3AHbAdwBCyABQQFqIgEgAkcNAAtBOCEqDLQDC0E4ISoMswMLA0ACQCABLQAAIipBIEYNACAqQQlHDQMLIAFBAWoiASACRw0AC0E8ISoMsgMLA0ACQCABLQAAIipBIEYNAAJAAkAgKkF2ag4E3AEBAdwBAAsgKkEsRg3dAQsgASEBDAQLIAFBAWoiASACRw0AC0E/ISoMsQMLIAEhAQzdAQtBwAAhKiABIjIgAkYNrwMgAiAyayAAKAIAIi9qITAgMiEuIC8hAQJAA0AgLi0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDZUDIAFBAWohASAuQQFqIi4gAkcNAAsgACAwNgIADLADCyAAQQA2AgAgLiEBC0E2ISoMlQMLAkAgASIpIAJHDQBBwQAhKgyuAwsgAEGMgICAADYCCCAAICk2AgQgKSEBIAAtACxBf2oOBM0B1wHZAdsBjAMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIqQSByICogKkG/f2pB/wFxQRpJG0H/AXEiKkEJRg0AICpBIEYNAAJAAkACQAJAICpBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhKgyYAwsgAUEBaiEBQTIhKgyXAwsgAUEBaiEBQTMhKgyWAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEqDKwDC0E1ISoMqwMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNUBCyABQQFqIgEgAkcNAAtBPSEqDKsDC0E9ISoMqgMLIAAgASIBIAIQsICAgAAiKg3YASABIQEMAQsgKkEBaiEBC0E8ISoMjgMLAkAgASIBIAJHDQBBwgAhKgynAwsCQANAAkAgAS0AAEF3ag4YAAKDA4MDiQODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwMAgwMLIAFBAWoiASACRw0AC0HCACEqDKcDCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsISoMjAMLIAEiASACRw3VAUHEACEqDKQDCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMvQILIAFBAWoiASACRw0AC0HFACEqDKMDCyAnLQAAIipBIEYNswEgKkE6Rw2IAyAAKAIEIQEgAEEANgIEIAAgASAnEK+AgIAAIgEN0gEgJ0EBaiEBDLkCC0HHACEqIAEiMiACRg2hAyACIDJrIAAoAgAiL2ohMCAyIScgLyEBAkADQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNiAMgAUEFRg0BIAFBAWohASAnQQFqIicgAkcNAAsgACAwNgIADKIDCyAAQQA2AgAgAEEBOgAsIDIgL2tBBmohAQyCAwtByAAhKiABIjIgAkYNoAMgAiAyayAAKAIAIi9qITAgMiEnIC8hAQJAA0AgJy0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDYcDIAFBCUYNASABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyhAwsgAEEANgIAIABBAjoALCAyIC9rQQpqIQEMgQMLAkAgASInIAJHDQBByQAhKgygAwsCQAJAICctAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIcDhwOHA4cDhwMBhwMLICdBAWohAUE+ISoMhwMLICdBAWohAUE/ISoMhgMLQcoAISogASIyIAJGDZ4DIAIgMmsgACgCACIvaiEwIDIhJyAvIQEDQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQaDCgIAAai0AAEcNhAMgAUEBRg34AiABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyeAwtBywAhKiABIjIgAkYNnQMgAiAyayAAKAIAIi9qITAgMiEnIC8hAQJAA0AgJy0AACIuQSByIC4gLkG/f2pB/wFxQRpJG0H/AXEgAUGiwoCAAGotAABHDYQDIAFBDkYNASABQQFqIQEgJ0EBaiInIAJHDQALIAAgMDYCAAyeAwsgAEEANgIAIABBAToALCAyIC9rQQ9qIQEM/gILQcwAISogASIyIAJGDZwDIAIgMmsgACgCACIvaiEwIDIhJyAvIQECQANAICctAAAiLkEgciAuIC5Bv39qQf8BcUEaSRtB/wFxIAFBwMKAgABqLQAARw2DAyABQQ9GDQEgAUEBaiEBICdBAWoiJyACRw0ACyAAIDA2AgAMnQMLIABBADYCACAAQQM6ACwgMiAva0EQaiEBDP0CC0HNACEqIAEiMiACRg2bAyACIDJrIAAoAgAiL2ohMCAyIScgLyEBAkADQCAnLQAAIi5BIHIgLiAuQb9/akH/AXFBGkkbQf8BcSABQdDCgIAAai0AAEcNggMgAUEFRg0BIAFBAWohASAnQQFqIicgAkcNAAsgACAwNgIADJwDCyAAQQA2AgAgAEEEOgAsIDIgL2tBBmohAQz8AgsCQCABIicgAkcNAEHOACEqDJsDCwJAAkACQAJAICctAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZ1/ag4TAIQDhAOEA4QDhAOEA4QDhAOEA4QDhAOEAwGEA4QDhAMCA4QDCyAnQQFqIQFBwQAhKgyEAwsgJ0EBaiEBQcIAISoMgwMLICdBAWohAUHDACEqDIIDCyAnQQFqIQFBxAAhKgyBAwsCQCABIgEgAkYNACAAQY2AgIAANgIIIAAgATYCBCABIQFBxQAhKgyBAwtBzwAhKgyZAwsgKiEBAkACQCAqLQAAQXZqDgQBrgKuAgCuAgsgKkEBaiEBC0EnISoM/wILAkAgASIBIAJHDQBB0QAhKgyYAwsCQCABLQAAQSBGDQAgASEBDI0BCyABQQFqIQEgAC0ALUEBcUUNyQEgASEBDIwBCyABIgEgAkcNyQFB0gAhKgyWAwtB0wAhKiABIjIgAkYNlQMgAiAyayAAKAIAIi9qITAgMiEuIC8hAQJAA0AgLi0AACABQdbCgIAAai0AAEcNzwEgAUEBRg0BIAFBAWohASAuQQFqIi4gAkcNAAsgACAwNgIADJYDCyAAQQA2AgAgMiAva0ECaiEBDMkBCwJAIAEiASACRw0AQdUAISoMlQMLIAEtAABBCkcNzgEgAUEBaiEBDMkBCwJAIAEiASACRw0AQdYAISoMlAMLAkACQCABLQAAQXZqDgQAzwHPAQHPAQsgAUEBaiEBDMkBCyABQQFqIQFBygAhKgz6AgsgACABIgEgAhCugICAACIqDc0BIAEhAUHNACEqDPkCCyAALQApQSJGDYwDDKwCCwJAIAEiASACRw0AQdsAISoMkQMLQQAhLkEBITJBASEvQQAhKgJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrWAdUBAAECAwQFBgjXAQtBAiEqDAYLQQMhKgwFC0EEISoMBAtBBSEqDAMLQQYhKgwCC0EHISoMAQtBCCEqC0EAITJBACEvQQAhLgzOAQtBCSEqQQEhLkEAITJBACEvDM0BCwJAIAEiASACRw0AQd0AISoMkAMLIAEtAABBLkcNzgEgAUEBaiEBDKwCCwJAIAEiASACRw0AQd8AISoMjwMLQQAhKgJAAkACQAJAAkACQAJAAkAgAS0AAEFQag4K1wHWAQABAgMEBQYH2AELQQIhKgzWAQtBAyEqDNUBC0EEISoM1AELQQUhKgzTAQtBBiEqDNIBC0EHISoM0QELQQghKgzQAQtBCSEqDM8BCwJAIAEiASACRg0AIABBjoCAgAA2AgggACABNgIEIAEhAUHQACEqDPUCC0HgACEqDI0DC0HhACEqIAEiMiACRg2MAyACIDJrIAAoAgAiL2ohMCAyIQEgLyEuA0AgAS0AACAuQeLCgIAAai0AAEcN0QEgLkEDRg3QASAuQQFqIS4gAUEBaiIBIAJHDQALIAAgMDYCAAyMAwtB4gAhKiABIjIgAkYNiwMgAiAyayAAKAIAIi9qITAgMiEBIC8hLgNAIAEtAAAgLkHmwoCAAGotAABHDdABIC5BAkYN0gEgLkEBaiEuIAFBAWoiASACRw0ACyAAIDA2AgAMiwMLQeMAISogASIyIAJGDYoDIAIgMmsgACgCACIvaiEwIDIhASAvIS4DQCABLQAAIC5B6cKAgABqLQAARw3PASAuQQNGDdIBIC5BAWohLiABQQFqIgEgAkcNAAsgACAwNgIADIoDCwJAIAEiASACRw0AQeUAISoMigMLIAAgAUEBaiIBIAIQqICAgAAiKg3RASABIQFB1gAhKgzwAgsCQCABIgEgAkYNAANAAkAgAS0AACIqQSBGDQACQAJAAkAgKkG4f2oOCwAB0wHTAdMB0wHTAdMB0wHTAQLTAQsgAUEBaiEBQdIAISoM9AILIAFBAWohAUHTACEqDPMCCyABQQFqIQFB1AAhKgzyAgsgAUEBaiIBIAJHDQALQeQAISoMiQMLQeQAISoMiAMLA0ACQCABLQAAQfDCgIAAai0AACIqQQFGDQAgKkF+ag4D0wHUAdUB1gELIAFBAWoiASACRw0AC0HmACEqDIcDCwJAIAEiASACRg0AIAFBAWohAQwDC0HnACEqDIYDCwNAAkAgAS0AAEHwxICAAGotAAAiKkEBRg0AAkAgKkF+ag4E1gHXAdgBANkBCyABIQFB1wAhKgzuAgsgAUEBaiIBIAJHDQALQegAISoMhQMLAkAgASIBIAJHDQBB6QAhKgyFAwsCQCABLQAAIipBdmoOGrwB2QHZAb4B2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkB2QHZAdkBzgHZAdkBANcBCyABQQFqIQELQQYhKgzqAgsDQAJAIAEtAABB8MaAgABqLQAAQQFGDQAgASEBDKUCCyABQQFqIgEgAkcNAAtB6gAhKgyCAwsCQCABIgEgAkYNACABQQFqIQEMAwtB6wAhKgyBAwsCQCABIgEgAkcNAEHsACEqDIEDCyABQQFqIQEMAQsCQCABIgEgAkcNAEHtACEqDIADCyABQQFqIQELQQQhKgzlAgsCQCABIi4gAkcNAEHuACEqDP4CCyAuIQECQAJAAkAgLi0AAEHwyICAAGotAABBf2oOB9gB2QHaAQCjAgEC2wELIC5BAWohAQwKCyAuQQFqIQEM0QELQQAhKiAAQQA2AhwgAEGbkoCAADYCECAAQQc2AgwgACAuQQFqNgIUDP0CCwJAA0ACQCABLQAAQfDIgIAAai0AACIqQQRGDQACQAJAICpBf2oOB9YB1wHYAd0BAAQB3QELIAEhAUHaACEqDOcCCyABQQFqIQFB3AAhKgzmAgsgAUEBaiIBIAJHDQALQe8AISoM/QILIAFBAWohAQzPAQsCQCABIi4gAkcNAEHwACEqDPwCCyAuLQAAQS9HDdgBIC5BAWohAQwGCwJAIAEiLiACRw0AQfEAISoM+wILAkAgLi0AACIBQS9HDQAgLkEBaiEBQd0AISoM4gILIAFBdmoiAUEWSw3XAUEBIAF0QYmAgAJxRQ3XAQzSAgsCQCABIgEgAkYNACABQQFqIQFB3gAhKgzhAgtB8gAhKgz5AgsCQCABIi4gAkcNAEH0ACEqDPkCCyAuIQECQCAuLQAAQfDMgIAAai0AAEF/ag4D0QKbAgDYAQtB4QAhKgzfAgsCQCABIi4gAkYNAANAAkAgLi0AAEHwyoCAAGotAAAiAUEDRg0AAkAgAUF/ag4C0wIA2QELIC4hAUHfACEqDOECCyAuQQFqIi4gAkcNAAtB8wAhKgz4AgtB8wAhKgz3AgsCQCABIgEgAkYNACAAQY+AgIAANgIIIAAgATYCBCABIQFB4AAhKgzeAgtB9QAhKgz2AgsCQCABIgEgAkcNAEH2ACEqDPYCCyAAQY+AgIAANgIIIAAgATYCBCABIQELQQMhKgzbAgsDQCABLQAAQSBHDcsCIAFBAWoiASACRw0AC0H3ACEqDPMCCwJAIAEiASACRw0AQfgAISoM8wILIAEtAABBIEcN0gEgAUEBaiEBDPUBCyAAIAEiASACEKyAgIAAIioN0gEgASEBDJUCCwJAIAEiBCACRw0AQfoAISoM8QILIAQtAABBzABHDdUBIARBAWohAUETISoM0wELAkAgASIqIAJHDQBB+wAhKgzwAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQNAIAQtAAAgAUHwzoCAAGotAABHDdQBIAFBBUYN0gEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBB+wAhKgzvAgsCQCABIgQgAkcNAEH8ACEqDO8CCwJAAkAgBC0AAEG9f2oODADVAdUB1QHVAdUB1QHVAdUB1QHVAQHVAQsgBEEBaiEBQeYAISoM1gILIARBAWohAUHnACEqDNUCCwJAIAEiKiACRw0AQf0AISoM7gILIAIgKmsgACgCACIuaiEyICohBCAuIQECQANAIAQtAAAgAUHtz4CAAGotAABHDdMBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgMjYCAEH9ACEqDO4CCyAAQQA2AgAgKiAua0EDaiEBQRAhKgzQAQsCQCABIiogAkcNAEH+ACEqDO0CCyACICprIAAoAgAiLmohMiAqIQQgLiEBAkADQCAELQAAIAFB9s6AgABqLQAARw3SASABQQVGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIDI2AgBB/gAhKgztAgsgAEEANgIAICogLmtBBmohAUEWISoMzwELAkAgASIqIAJHDQBB/wAhKgzsAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQfzOgIAAai0AAEcN0QEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQf8AISoM7AILIABBADYCACAqIC5rQQRqIQFBBSEqDM4BCwJAIAEiBCACRw0AQYABISoM6wILIAQtAABB2QBHDc8BIARBAWohAUEIISoMzQELAkAgASIEIAJHDQBBgQEhKgzqAgsCQAJAIAQtAABBsn9qDgMA0AEB0AELIARBAWohAUHrACEqDNECCyAEQQFqIQFB7AAhKgzQAgsCQCABIgQgAkcNAEGCASEqDOkCCwJAAkAgBC0AAEG4f2oOCADPAc8BzwHPAc8BzwEBzwELIARBAWohAUHqACEqDNACCyAEQQFqIQFB7QAhKgzPAgsCQCABIi4gAkcNAEGDASEqDOgCCyACIC5rIAAoAgAiMmohKiAuIQQgMiEBAkADQCAELQAAIAFBgM+AgABqLQAARw3NASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAICo2AgBBgwEhKgzoAgtBACEqIABBADYCACAuIDJrQQNqIQEMygELAkAgASIqIAJHDQBBhAEhKgznAgsgAiAqayAAKAIAIi5qITIgKiEEIC4hAQJAA0AgBC0AACABQYPPgIAAai0AAEcNzAEgAUEERg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAyNgIAQYQBISoM5wILIABBADYCACAqIC5rQQVqIQFBIyEqDMkBCwJAIAEiBCACRw0AQYUBISoM5gILAkACQCAELQAAQbR/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+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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DM4BCyAAQQA2AhwgACABNgIUIABBoJmAgAA2AhAgAEEeNgIMQQAhKgzNAQsgAUEBaiEBCyAAQYASOwEqIAAgASACEKiAgIAAIioNASABIQELQccAISoMsQELICpBFUcNiQEgAEHRADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEqDMkBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxiCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDMgBCyAAQQA2AhwgACAuNgIUIABBwaiAgAA2AhAgAEEHNgIMIABBADYCAEEAISoMxwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDGELIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMxgELQQAhKiAAQQA2AhwgACABNgIUIABBgJGAgAA2AhAgAEEJNgIMDMUBCyAqQRVGDYMBIABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEqDMQBC0EBIS9BACEyQQAhLkEBISoLIAAgKjoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAvRQ0DDAILIC4NAQwCCyAyRQ0BCyAAKAIEISogAEEANgIEAkAgACAqIAEQrYCAgAAiKg0AIAEhAQxgCyAAQdgANgIcIAAgATYCFCAAICo2AgxBACEqDMMBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQyyAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhKgzCAQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMsAELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAISoMwQELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDK4BCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEqDMABC0EBISoLIAAgKjoAKiABQQFqIQEMXAsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqgELIABB3gA2AhwgACABNgIUIAAgBDYCDEEAISoMvQELIABBADYCACAyIC9rQQRqIQECQCAALQApQSNPDQAgASEBDFwLIABBADYCHCAAIAE2AhQgAEHTiYCAADYCECAAQQg2AgxBACEqDLwBCyAAQQA2AgALQQAhKiAAQQA2AhwgACABNgIUIABBkLOAgAA2AhAgAEEINgIMDLoBCyAAQQA2AgAgMiAva0EDaiEBAkAgAC0AKUEhRw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABBm4qAgAA2AhAgAEEINgIMQQAhKgy5AQsgAEEANgIAIDIgL2tBBGohAQJAIAAtACkiKkFdakELTw0AIAEhAQxYCwJAICpBBksNAEEBICp0QcoAcUUNACABIQEMWAtBACEqIABBADYCHCAAIAE2AhQgAEH3iYCAADYCECAAQQg2AgwMuAELICpBFUYNdSAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhKgy3AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVwsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgy2AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgy1AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMTwsgAEHTADYCHCAAIAE2AhQgACAqNgIMQQAhKgy0AQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMVAsgAEHlADYCHCAAIAE2AhQgACAqNgIMQQAhKgyzAQsgAEEANgIcIAAgATYCFCAAQcaKgIAANgIQIABBBzYCDEEAISoMsgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMsQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDEsLIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMsAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFALIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMrwELIABBADYCHCAAIAE2AhQgAEHciICAADYCECAAQQc2AgxBACEqDK4BCyAqQT9HDQEgAUEBaiEB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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 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 +(()=>{var __webpack_modules__={552: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 _DOMException 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");\nvar 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 _AbortController {\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 AbortController = _AbortController;\nvar _AbortSignal = class _AbortSignal 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");\nvar AbortSignal = _AbortSignal;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n AbortController,\n AbortSignal,\n DOMException\n});\n'},690: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 "use strict";\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'},154: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'},371: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 _BufferSourceConverter {\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 BufferSourceConverter = _BufferSourceConverter;\nvar _Utf8Converter = class _Utf8Converter {\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 Utf8Converter = _Utf8Converter;\nvar _Utf16Converter = class _Utf16Converter {\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 Utf16Converter = _Utf16Converter;\nvar _Convert = class _Convert {\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");\nvar 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 _ViewWriter {\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 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 _a8;\n var _a7;\n return _a7 = (_a8 = class extends BaseClass {\n constructor(...args) {\n var _a9;\n super(...args);\n const params = args[0] || {};\n this.isHexOnly = (_a9 = params.isHexOnly) !== null && _a9 !== void 0 ? _a9 : 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 }, __name(_a8, "Some"), _a8), _a7.NAME = "hexBlock", _a7;\n}\n__name(HexBlock, "HexBlock");\nvar _LocalBaseBlock = class _LocalBaseBlock {\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");\nvar LocalBaseBlock = _LocalBaseBlock;\nLocalBaseBlock.NAME = "baseBlock";\nvar _ValueBlock = class _ValueBlock 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");\nvar ValueBlock = _ValueBlock;\nValueBlock.NAME = "valueBlock";\nvar _LocalIdentificationBlock = class _LocalIdentificationBlock extends HexBlock(LocalBaseBlock) {\n constructor({ idBlock = {} } = {}) {\n var _a7, _b, _c, _d;\n super();\n if (idBlock) {\n this.isHexOnly = (_a7 = idBlock.isHexOnly) !== null && _a7 !== void 0 ? _a7 : 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");\nvar LocalIdentificationBlock = _LocalIdentificationBlock;\nLocalIdentificationBlock.NAME = "identificationBlock";\nvar _LocalLengthBlock = class _LocalLengthBlock extends LocalBaseBlock {\n constructor({ lenBlock = {} } = {}) {\n var _a7, _b, _c;\n super();\n this.isIndefiniteForm = (_a7 = lenBlock.isIndefiniteForm) !== null && _a7 !== void 0 ? _a7 : 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");\nvar LocalLengthBlock = _LocalLengthBlock;\nLocalLengthBlock.NAME = "lengthBlock";\nvar typeStore = {};\nvar _BaseBlock = class _BaseBlock 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");\nvar 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 _BaseStringBlock 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");\nvar BaseStringBlock = _BaseStringBlock;\nBaseStringBlock.NAME = "BaseStringBlock";\nvar _LocalPrimitiveValueBlock = class _LocalPrimitiveValueBlock extends HexBlock(ValueBlock) {\n constructor({ isHexOnly = true, ...parameters } = {}) {\n super(parameters);\n this.isHexOnly = isHexOnly;\n }\n};\n__name(_LocalPrimitiveValueBlock, "LocalPrimitiveValueBlock");\nvar LocalPrimitiveValueBlock = _LocalPrimitiveValueBlock;\nLocalPrimitiveValueBlock.NAME = "PrimitiveValueBlock";\nvar _a$w;\nvar _Primitive = class _Primitive extends BaseBlock {\n constructor(parameters = {}) {\n super(parameters, LocalPrimitiveValueBlock);\n this.idBlock.isConstructed = false;\n }\n};\n__name(_Primitive, "Primitive");\nvar 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 _LocalConstructedValueBlock 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");\nvar LocalConstructedValueBlock = _LocalConstructedValueBlock;\nLocalConstructedValueBlock.NAME = "ConstructedValueBlock";\nvar _a$v;\nvar _Constructed = class _Constructed 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");\nvar Constructed = _Constructed;\n_a$v = Constructed;\n(() => {\n typeStore.Constructed = _a$v;\n})();\nConstructed.NAME = "CONSTRUCTED";\nvar _LocalEndOfContentValueBlock = class _LocalEndOfContentValueBlock extends ValueBlock {\n fromBER(inputBuffer, inputOffset, inputLength) {\n return inputOffset;\n }\n toBER(sizeOnly) {\n return EMPTY_BUFFER;\n }\n};\n__name(_LocalEndOfContentValueBlock, "LocalEndOfContentValueBlock");\nvar LocalEndOfContentValueBlock = _LocalEndOfContentValueBlock;\nLocalEndOfContentValueBlock.override = "EndOfContentValueBlock";\nvar _a$u;\nvar _EndOfContent = class _EndOfContent 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");\nvar 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 _Null 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");\nvar Null = _Null;\n_a$t = Null;\n(() => {\n typeStore.Null = _a$t;\n})();\nNull.NAME = "NULL";\nvar _LocalBooleanValueBlock = class _LocalBooleanValueBlock 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");\nvar LocalBooleanValueBlock = _LocalBooleanValueBlock;\nLocalBooleanValueBlock.NAME = "BooleanValueBlock";\nvar _a$s;\nvar _Boolean = class _Boolean 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");\nvar Boolean = _Boolean;\n_a$s = Boolean;\n(() => {\n typeStore.Boolean = _a$s;\n})();\nBoolean.NAME = "BOOLEAN";\nvar _LocalOctetStringValueBlock = class _LocalOctetStringValueBlock 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");\nvar LocalOctetStringValueBlock = _LocalOctetStringValueBlock;\nLocalOctetStringValueBlock.NAME = "OctetStringValueBlock";\nvar _a$r;\nvar _OctetString = class _OctetString 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");\nvar OctetString = _OctetString;\n_a$r = OctetString;\n(() => {\n typeStore.OctetString = _a$r;\n})();\nOctetString.NAME = OCTET_STRING_NAME;\nvar _LocalBitStringValueBlock = class _LocalBitStringValueBlock 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");\nvar LocalBitStringValueBlock = _LocalBitStringValueBlock;\nLocalBitStringValueBlock.NAME = "BitStringValueBlock";\nvar _a$q;\nvar _BitString = class _BitString 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");\nvar 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 _LocalIntegerValueBlock 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");\nvar 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 _Integer 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");\nvar Integer = _Integer;\n_a$o = Integer;\n(() => {\n typeStore.Integer = _a$o;\n})();\nInteger.NAME = "INTEGER";\nvar _a$n;\nvar _Enumerated = class _Enumerated extends Integer {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 10;\n }\n};\n__name(_Enumerated, "Enumerated");\nvar Enumerated = _Enumerated;\n_a$n = Enumerated;\n(() => {\n typeStore.Enumerated = _a$n;\n})();\nEnumerated.NAME = "ENUMERATED";\nvar _LocalSidValueBlock = class _LocalSidValueBlock 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");\nvar LocalSidValueBlock = _LocalSidValueBlock;\nLocalSidValueBlock.NAME = "sidBlock";\nvar _LocalObjectIdentifierValueBlock = class _LocalObjectIdentifierValueBlock 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");\nvar LocalObjectIdentifierValueBlock = _LocalObjectIdentifierValueBlock;\nLocalObjectIdentifierValueBlock.NAME = "ObjectIdentifierValueBlock";\nvar _a$m;\nvar _ObjectIdentifier = class _ObjectIdentifier 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");\nvar ObjectIdentifier = _ObjectIdentifier;\n_a$m = ObjectIdentifier;\n(() => {\n typeStore.ObjectIdentifier = _a$m;\n})();\nObjectIdentifier.NAME = "OBJECT IDENTIFIER";\nvar _LocalRelativeSidValueBlock = class _LocalRelativeSidValueBlock 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");\nvar LocalRelativeSidValueBlock = _LocalRelativeSidValueBlock;\nLocalRelativeSidValueBlock.NAME = "relativeSidBlock";\nvar _LocalRelativeObjectIdentifierValueBlock = class _LocalRelativeObjectIdentifierValueBlock 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");\nvar LocalRelativeObjectIdentifierValueBlock = _LocalRelativeObjectIdentifierValueBlock;\nLocalRelativeObjectIdentifierValueBlock.NAME = "RelativeObjectIdentifierValueBlock";\nvar _a$l;\nvar _RelativeObjectIdentifier = class _RelativeObjectIdentifier 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");\nvar RelativeObjectIdentifier = _RelativeObjectIdentifier;\n_a$l = RelativeObjectIdentifier;\n(() => {\n typeStore.RelativeObjectIdentifier = _a$l;\n})();\nRelativeObjectIdentifier.NAME = "RelativeObjectIdentifier";\nvar _a$k;\nvar _Sequence = class _Sequence extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 16;\n }\n};\n__name(_Sequence, "Sequence");\nvar Sequence = _Sequence;\n_a$k = Sequence;\n(() => {\n typeStore.Sequence = _a$k;\n})();\nSequence.NAME = "SEQUENCE";\nvar _a$j;\nvar _Set = class _Set extends Constructed {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 17;\n }\n};\n__name(_Set, "Set");\nvar Set = _Set;\n_a$j = Set;\n(() => {\n typeStore.Set = _a$j;\n})();\nSet.NAME = "SET";\nvar _LocalStringValueBlock = class _LocalStringValueBlock 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");\nvar LocalStringValueBlock = _LocalStringValueBlock;\nLocalStringValueBlock.NAME = "StringValueBlock";\nvar _LocalSimpleStringValueBlock = class _LocalSimpleStringValueBlock extends LocalStringValueBlock {\n};\n__name(_LocalSimpleStringValueBlock, "LocalSimpleStringValueBlock");\nvar LocalSimpleStringValueBlock = _LocalSimpleStringValueBlock;\nLocalSimpleStringValueBlock.NAME = "SimpleStringValueBlock";\nvar _LocalSimpleStringBlock = class _LocalSimpleStringBlock 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");\nvar LocalSimpleStringBlock = _LocalSimpleStringBlock;\nLocalSimpleStringBlock.NAME = "SIMPLE STRING";\nvar _LocalUtf8StringValueBlock = class _LocalUtf8StringValueBlock 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");\nvar LocalUtf8StringValueBlock = _LocalUtf8StringValueBlock;\nLocalUtf8StringValueBlock.NAME = "Utf8StringValueBlock";\nvar _a$i;\nvar _Utf8String = class _Utf8String extends LocalUtf8StringValueBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 12;\n }\n};\n__name(_Utf8String, "Utf8String");\nvar Utf8String = _Utf8String;\n_a$i = Utf8String;\n(() => {\n typeStore.Utf8String = _a$i;\n})();\nUtf8String.NAME = "UTF8String";\nvar _LocalBmpStringValueBlock = class _LocalBmpStringValueBlock 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");\nvar LocalBmpStringValueBlock = _LocalBmpStringValueBlock;\nLocalBmpStringValueBlock.NAME = "BmpStringValueBlock";\nvar _a$h;\nvar _BmpString = class _BmpString extends LocalBmpStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 30;\n }\n};\n__name(_BmpString, "BmpString");\nvar BmpString = _BmpString;\n_a$h = BmpString;\n(() => {\n typeStore.BmpString = _a$h;\n})();\nBmpString.NAME = "BMPString";\nvar _LocalUniversalStringValueBlock = class _LocalUniversalStringValueBlock 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");\nvar LocalUniversalStringValueBlock = _LocalUniversalStringValueBlock;\nLocalUniversalStringValueBlock.NAME = "UniversalStringValueBlock";\nvar _a$g;\nvar _UniversalString = class _UniversalString extends LocalUniversalStringValueBlock {\n constructor({ ...parameters } = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 28;\n }\n};\n__name(_UniversalString, "UniversalString");\nvar UniversalString = _UniversalString;\n_a$g = UniversalString;\n(() => {\n typeStore.UniversalString = _a$g;\n})();\nUniversalString.NAME = "UniversalString";\nvar _a$f;\nvar _NumericString = class _NumericString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 18;\n }\n};\n__name(_NumericString, "NumericString");\nvar NumericString = _NumericString;\n_a$f = NumericString;\n(() => {\n typeStore.NumericString = _a$f;\n})();\nNumericString.NAME = "NumericString";\nvar _a$e;\nvar _PrintableString = class _PrintableString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 19;\n }\n};\n__name(_PrintableString, "PrintableString");\nvar PrintableString = _PrintableString;\n_a$e = PrintableString;\n(() => {\n typeStore.PrintableString = _a$e;\n})();\nPrintableString.NAME = "PrintableString";\nvar _a$d;\nvar _TeletexString = class _TeletexString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 20;\n }\n};\n__name(_TeletexString, "TeletexString");\nvar TeletexString = _TeletexString;\n_a$d = TeletexString;\n(() => {\n typeStore.TeletexString = _a$d;\n})();\nTeletexString.NAME = "TeletexString";\nvar _a$c;\nvar _VideotexString = class _VideotexString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 21;\n }\n};\n__name(_VideotexString, "VideotexString");\nvar VideotexString = _VideotexString;\n_a$c = VideotexString;\n(() => {\n typeStore.VideotexString = _a$c;\n})();\nVideotexString.NAME = "VideotexString";\nvar _a$b;\nvar _IA5String = class _IA5String extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 22;\n }\n};\n__name(_IA5String, "IA5String");\nvar IA5String = _IA5String;\n_a$b = IA5String;\n(() => {\n typeStore.IA5String = _a$b;\n})();\nIA5String.NAME = "IA5String";\nvar _a$a;\nvar _GraphicString = class _GraphicString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 25;\n }\n};\n__name(_GraphicString, "GraphicString");\nvar GraphicString = _GraphicString;\n_a$a = GraphicString;\n(() => {\n typeStore.GraphicString = _a$a;\n})();\nGraphicString.NAME = "GraphicString";\nvar _a$9;\nvar _VisibleString = class _VisibleString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 26;\n }\n};\n__name(_VisibleString, "VisibleString");\nvar VisibleString = _VisibleString;\n_a$9 = VisibleString;\n(() => {\n typeStore.VisibleString = _a$9;\n})();\nVisibleString.NAME = "VisibleString";\nvar _a$8;\nvar _GeneralString = class _GeneralString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 27;\n }\n};\n__name(_GeneralString, "GeneralString");\nvar GeneralString = _GeneralString;\n_a$8 = GeneralString;\n(() => {\n typeStore.GeneralString = _a$8;\n})();\nGeneralString.NAME = "GeneralString";\nvar _a$7;\nvar _CharacterString = class _CharacterString extends LocalSimpleStringBlock {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 29;\n }\n};\n__name(_CharacterString, "CharacterString");\nvar CharacterString = _CharacterString;\n_a$7 = CharacterString;\n(() => {\n typeStore.CharacterString = _a$7;\n})();\nCharacterString.NAME = "CharacterString";\nvar _a$6;\nvar _UTCTime = class _UTCTime 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");\nvar UTCTime = _UTCTime;\n_a$6 = UTCTime;\n(() => {\n typeStore.UTCTime = _a$6;\n})();\nUTCTime.NAME = "UTCTime";\nvar _a$5;\nvar _GeneralizedTime = class _GeneralizedTime 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");\nvar GeneralizedTime = _GeneralizedTime;\n_a$5 = GeneralizedTime;\n(() => {\n typeStore.GeneralizedTime = _a$5;\n})();\nGeneralizedTime.NAME = "GeneralizedTime";\nvar _a$4;\nvar _DATE = class _DATE extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 31;\n }\n};\n__name(_DATE, "DATE");\nvar DATE = _DATE;\n_a$4 = DATE;\n(() => {\n typeStore.DATE = _a$4;\n})();\nDATE.NAME = "DATE";\nvar _a$3;\nvar _TimeOfDay = class _TimeOfDay extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 32;\n }\n};\n__name(_TimeOfDay, "TimeOfDay");\nvar TimeOfDay = _TimeOfDay;\n_a$3 = TimeOfDay;\n(() => {\n typeStore.TimeOfDay = _a$3;\n})();\nTimeOfDay.NAME = "TimeOfDay";\nvar _a$2;\nvar _DateTime = class _DateTime extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 33;\n }\n};\n__name(_DateTime, "DateTime");\nvar DateTime = _DateTime;\n_a$2 = DateTime;\n(() => {\n typeStore.DateTime = _a$2;\n})();\nDateTime.NAME = "DateTime";\nvar _a$1;\nvar _Duration = class _Duration extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 34;\n }\n};\n__name(_Duration, "Duration");\nvar Duration = _Duration;\n_a$1 = Duration;\n(() => {\n typeStore.Duration = _a$1;\n})();\nDuration.NAME = "Duration";\nvar _a;\nvar _TIME = class _TIME extends Utf8String {\n constructor(parameters = {}) {\n super(parameters);\n this.idBlock.tagClass = 1;\n this.idBlock.tagNumber = 14;\n }\n};\n__name(_TIME, "TIME");\nvar TIME = _TIME;\n_a = TIME;\n(() => {\n typeStore.TIME = _a;\n})();\nTIME.NAME = "TIME";\nvar _Any = class _Any {\n constructor({ name = EMPTY_STRING, optional = false } = {}) {\n this.name = name;\n this.optional = optional;\n }\n};\n__name(_Any, "Any");\nvar Any = _Any;\nvar _Choice = class _Choice extends Any {\n constructor({ value = [], ...parameters } = {}) {\n super(parameters);\n this.value = value;\n }\n};\n__name(_Choice, "Choice");\nvar Choice = _Choice;\nvar _Repeated = class _Repeated 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 Repeated = _Repeated;\nvar _RawData = class _RawData {\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");\nvar 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 _a7;\n if (target) {\n const proto = Object.getPrototypeOf(target);\n if (((_a7 = proto === null || proto === void 0 ? void 0 : proto.prototype) === null || _a7 === void 0 ? void 0 : _a7.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 _AsnSchemaStorage {\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");\nvar 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 _AsnSchemaValidationError extends Error {\n constructor() {\n super(...arguments);\n this.schemas = [];\n }\n};\n__name(_AsnSchemaValidationError, "AsnSchemaValidationError");\nvar 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 _AsnParser {\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 _a7;\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 = (_a7 = schemaItem.converter) !== null && _a7 !== void 0 ? _a7 : 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");\nvar 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 _AsnSerializer {\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");\nvar 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 _AsnConvert {\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");\nvar 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 _JsonError 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 JsonError = _JsonError;\nvar _TransformError = class _TransformError extends JsonError {\n constructor(schema, message, innerError) {\n super(message, innerError);\n this.schema = schema;\n }\n};\n__name(_TransformError, "TransformError");\nvar TransformError = _TransformError;\nvar _ParserError = class _ParserError 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 ParserError = _ParserError;\nvar _ValidationError = class _ValidationError extends JsonError {\n};\n__name(_ValidationError, "ValidationError");\nvar ValidationError = _ValidationError;\nvar _SerializerError = class _SerializerError 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 SerializerError = _SerializerError;\nvar _KeyError = class _KeyError 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 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 _JsonSchemaStorage {\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 JsonSchemaStorage = _JsonSchemaStorage;\nvar DEFAULT_SCHEMA = "default";\nvar schemaStorage2 = new JsonSchemaStorage();\nvar _PatternValidation = class _PatternValidation {\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 PatternValidation = _PatternValidation;\nvar _InclusiveValidation = class _InclusiveValidation {\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 InclusiveValidation = _InclusiveValidation;\nvar _ExclusiveValidation = class _ExclusiveValidation {\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 ExclusiveValidation = _ExclusiveValidation;\nvar _LengthValidation = class _LengthValidation {\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 LengthValidation = _LengthValidation;\nvar _EnumerationValidation = class _EnumerationValidation {\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 EnumerationValidation = _EnumerationValidation;\nvar _JsonTransform = class _JsonTransform {\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 JsonTransform = _JsonTransform;\nvar _JsonSerializer = class _JsonSerializer 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 JsonSerializer = _JsonSerializer;\nvar _JsonParser = class _JsonParser 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");\nvar 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 _CryptoError extends Error {\n};\n__name(_CryptoError, "CryptoError");\nvar CryptoError = _CryptoError;\nvar _AlgorithmError = class _AlgorithmError extends CryptoError {\n};\n__name(_AlgorithmError, "AlgorithmError");\nvar AlgorithmError = _AlgorithmError;\nvar _UnsupportedOperationError = class _UnsupportedOperationError extends CryptoError {\n constructor(methodName) {\n super(`Unsupported operation: ${methodName ? `${methodName}` : ""}`);\n }\n};\n__name(_UnsupportedOperationError, "UnsupportedOperationError");\nvar UnsupportedOperationError = _UnsupportedOperationError;\nvar _OperationError = class _OperationError extends CryptoError {\n};\n__name(_OperationError, "OperationError");\nvar OperationError = _OperationError;\nvar _RequiredPropertyError = class _RequiredPropertyError extends CryptoError {\n constructor(propName) {\n super(`${propName}: Missing required property`);\n }\n};\n__name(_RequiredPropertyError, "RequiredPropertyError");\nvar RequiredPropertyError = _RequiredPropertyError;\nfunction isJWK(data) {\n return typeof data === "object" && "kty" in data;\n}\n__name(isJWK, "isJWK");\nvar _ProviderCrypto = class _ProviderCrypto {\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 ProviderCrypto = _ProviderCrypto;\nvar _AesProvider = class _AesProvider 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 AesProvider = _AesProvider;\nvar _AesCbcProvider = class _AesCbcProvider 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 AesCbcProvider = _AesCbcProvider;\nvar _AesCmacProvider = class _AesCmacProvider 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 AesCmacProvider = _AesCmacProvider;\nvar _AesCtrProvider = class _AesCtrProvider 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 AesCtrProvider = _AesCtrProvider;\nvar _AesEcbProvider = class _AesEcbProvider 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 AesEcbProvider = _AesEcbProvider;\nvar _AesGcmProvider = class _AesGcmProvider 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 AesGcmProvider = _AesGcmProvider;\nvar _AesKwProvider = class _AesKwProvider extends AesProvider {\n constructor() {\n super(...arguments);\n this.name = "AES-KW";\n this.usages = ["wrapKey", "unwrapKey"];\n }\n};\n__name(_AesKwProvider, "AesKwProvider");\nvar AesKwProvider = _AesKwProvider;\nvar _DesProvider = class _DesProvider 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 DesProvider = _DesProvider;\nvar _RsaProvider = class _RsaProvider 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 RsaProvider = _RsaProvider;\nvar _RsaSsaProvider = class _RsaSsaProvider 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 RsaSsaProvider = _RsaSsaProvider;\nvar _RsaPssProvider = class _RsaPssProvider 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 RsaPssProvider = _RsaPssProvider;\nvar _RsaOaepProvider = class _RsaOaepProvider 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 RsaOaepProvider = _RsaOaepProvider;\nvar _EllipticProvider = class _EllipticProvider 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 EllipticProvider = _EllipticProvider;\nvar _EcdsaProvider = class _EcdsaProvider 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 EcdsaProvider = _EcdsaProvider;\nvar KEY_TYPES = ["secret", "private", "public"];\nvar _CryptoKey = class _CryptoKey {\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 CryptoKey = _CryptoKey;\nvar _EcdhProvider = class _EcdhProvider 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 EcdhProvider = _EcdhProvider;\nvar _EcdhEsProvider = class _EcdhEsProvider extends EcdhProvider {\n constructor() {\n super(...arguments);\n this.name = "ECDH-ES";\n this.namedCurves = ["X25519", "X448"];\n }\n};\n__name(_EcdhEsProvider, "EcdhEsProvider");\nvar EcdhEsProvider = _EcdhEsProvider;\nvar _EdDsaProvider = class _EdDsaProvider 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 EdDsaProvider = _EdDsaProvider;\nvar _a2;\nvar ObjectIdentifier2 = (_a2 = class {\n constructor(value) {\n if (value) {\n this.value = value;\n }\n }\n}, __name(_a2, "ObjectIdentifier"), _a2);\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 _AlgorithmIdentifier {\n constructor(params) {\n Object.assign(this, params);\n }\n};\n__name(_AlgorithmIdentifier, "AlgorithmIdentifier");\nvar 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 _PrivateKeyInfo {\n constructor() {\n this.version = 0;\n this.privateKeyAlgorithm = new AlgorithmIdentifier();\n this.privateKey = new ArrayBuffer(0);\n }\n};\n__name(_PrivateKeyInfo, "PrivateKeyInfo");\nvar 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 _PublicKeyInfo {\n constructor() {\n this.publicKeyAlgorithm = new AlgorithmIdentifier();\n this.publicKey = new ArrayBuffer(0);\n }\n};\n__name(_PublicKeyInfo, "PublicKeyInfo");\nvar 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 _RsaPrivateKey {\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");\nvar 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 _RsaPublicKey {\n constructor() {\n this.modulus = new ArrayBuffer(0);\n this.publicExponent = new ArrayBuffer(0);\n }\n};\n__name(_RsaPublicKey, "RsaPublicKey");\nvar 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 _a3;\nvar EcPublicKey = (_a3 = class {\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}, __name(_a3, "EcPublicKey"), _a3);\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 _EcPrivateKey {\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");\nvar 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 _EcUtils {\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 EcUtils = _EcUtils;\nvar _EcDsaSignature = class _EcDsaSignature {\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");\nvar 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 _OneAsymmetricKey extends PrivateKeyInfo {\n};\n__name(_OneAsymmetricKey, "OneAsymmetricKey");\nvar OneAsymmetricKey = _OneAsymmetricKey;\n__decorate([\n AsnProp({ context: 1, implicit: true, type: AsnPropTypes.BitString, optional: true })\n], OneAsymmetricKey.prototype, "publicKey", void 0);\nvar _a4;\nvar EdPrivateKey = (_a4 = class {\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}, __name(_a4, "EdPrivateKey"), _a4);\n__decorate([\n AsnProp({ type: AsnPropTypes.OctetString })\n], EdPrivateKey.prototype, "value", void 0);\nEdPrivateKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPrivateKey);\nvar _a5;\nvar EdPublicKey = (_a5 = class {\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}, __name(_a5, "EdPublicKey"), _a5);\n__decorate([\n AsnProp({ type: AsnPropTypes.BitString })\n], EdPublicKey.prototype, "value", void 0);\nEdPublicKey = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], EdPublicKey);\nvar _a6;\nvar CurvePrivateKey = (_a6 = class {\n}, __name(_a6, "CurvePrivateKey"), _a6);\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 _EcCurves {\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");\nvar 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 _HmacProvider 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 HmacProvider = _HmacProvider;\nvar _Pbkdf2Provider = class _Pbkdf2Provider 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 Pbkdf2Provider = _Pbkdf2Provider;\nvar _HkdfProvider = class _HkdfProvider 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 HkdfProvider = _HkdfProvider;\nvar _ShakeProvider = class _ShakeProvider 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 ShakeProvider = _ShakeProvider;\nvar _Shake128Provider = class _Shake128Provider extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake128";\n this.defaultLength = 16;\n }\n};\n__name(_Shake128Provider, "Shake128Provider");\nvar Shake128Provider = _Shake128Provider;\nvar _Shake256Provider = class _Shake256Provider extends ShakeProvider {\n constructor() {\n super(...arguments);\n this.name = "shake256";\n this.defaultLength = 32;\n }\n};\n__name(_Shake256Provider, "Shake256Provider");\nvar Shake256Provider = _Shake256Provider;\nvar _Crypto = class _Crypto {\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 Crypto = _Crypto;\nvar _ProviderStorage = class _ProviderStorage {\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 ProviderStorage = _ProviderStorage;\nvar _SubtleCrypto = class _SubtleCrypto {\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");\nvar 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 _CryptoKey2 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");\nvar CryptoKey2 = _CryptoKey2;\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 _SymmetricKey extends CryptoKey2 {\n constructor() {\n super(...arguments);\n this.kty = "oct";\n this.type = "secret";\n }\n};\n__name(_SymmetricKey, "SymmetricKey");\nvar SymmetricKey = _SymmetricKey;\nvar _AsymmetricKey = class _AsymmetricKey extends CryptoKey2 {\n};\n__name(_AsymmetricKey, "AsymmetricKey");\nvar AsymmetricKey = _AsymmetricKey;\nvar _AesCryptoKey = class _AesCryptoKey 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");\nvar AesCryptoKey = _AesCryptoKey;\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], AesCryptoKey.prototype, "data", void 0);\nvar _AesCrypto = class _AesCrypto {\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");\nvar 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 _AesCbcProvider2 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 AesCbcProvider2 = _AesCbcProvider2;\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 _AesCmacProvider2 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 AesCmacProvider2 = _AesCmacProvider2;\nvar _AesCtrProvider2 = class _AesCtrProvider2 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 AesCtrProvider2 = _AesCtrProvider2;\nvar _AesGcmProvider2 = class _AesGcmProvider2 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 AesGcmProvider2 = _AesGcmProvider2;\nvar _AesKwProvider2 = class _AesKwProvider2 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 AesKwProvider2 = _AesKwProvider2;\nvar _AesEcbProvider2 = class _AesEcbProvider2 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 AesEcbProvider2 = _AesEcbProvider2;\nvar _DesCryptoKey = class _DesCryptoKey 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");\nvar DesCryptoKey = _DesCryptoKey;\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], DesCryptoKey.prototype, "data", void 0);\nvar _DesCrypto = class _DesCrypto {\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 DesCrypto = _DesCrypto;\nvar _DesCbcProvider = class _DesCbcProvider 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 DesCbcProvider = _DesCbcProvider;\nvar _DesEde3CbcProvider = class _DesEde3CbcProvider 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");\nvar 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 _RsaPrivateKey2 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 RsaPrivateKey2 = _RsaPrivateKey2;\nvar _RsaPublicKey2 = class _RsaPublicKey2 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 RsaPublicKey2 = _RsaPublicKey2;\nvar _RsaCrypto = class _RsaCrypto {\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");\nvar RsaCrypto = _RsaCrypto;\nRsaCrypto.publicKeyUsages = ["verify", "encrypt", "wrapKey"];\nRsaCrypto.privateKeyUsages = ["sign", "decrypt", "unwrapKey"];\nvar _RsaSsaProvider2 = class _RsaSsaProvider2 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 RsaSsaProvider2 = _RsaSsaProvider2;\nvar _RsaPssProvider2 = class _RsaPssProvider2 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 RsaPssProvider2 = _RsaPssProvider2;\nvar _ShaCrypto = class _ShaCrypto {\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 ShaCrypto = _ShaCrypto;\nvar _RsaOaepProvider2 = class _RsaOaepProvider2 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 RsaOaepProvider2 = _RsaOaepProvider2;\nvar _RsaEsProvider = class _RsaEsProvider 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 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 _EcPrivateKey2 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 EcPrivateKey2 = _EcPrivateKey2;\nvar _EcPublicKey = class _EcPublicKey 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(_EcPublicKey, "EcPublicKey");\nvar EcPublicKey2 = _EcPublicKey;\nvar _Sha1Provider = class _Sha1Provider 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 Sha1Provider = _Sha1Provider;\nvar _Sha256Provider = class _Sha256Provider 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 Sha256Provider = _Sha256Provider;\nvar _Sha384Provider = class _Sha384Provider 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 Sha384Provider = _Sha384Provider;\nvar _Sha512Provider = class _Sha512Provider 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 Sha512Provider = _Sha512Provider;\nvar _Sha3256Provider = class _Sha3256Provider 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 Sha3256Provider = _Sha3256Provider;\nvar _Sha3384Provider = class _Sha3384Provider 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 Sha3384Provider = _Sha3384Provider;\nvar _Sha3512Provider = class _Sha3512Provider 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 Sha3512Provider = _Sha3512Provider;\nvar _EcCrypto = class _EcCrypto {\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 EcPublicKey2();\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 EcPublicKey2();\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");\nvar EcCrypto = _EcCrypto;\nEcCrypto.publicKeyUsages = ["verify"];\nEcCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar _EcdsaProvider2 = class _EcdsaProvider2 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 EcPublicKey2)) {\n throw new TypeError("key: Is not EC CryptoKey");\n }\n }\n};\n__name(_EcdsaProvider2, "EcdsaProvider");\nvar EcdsaProvider2 = _EcdsaProvider2;\nvar _EcdhProvider2 = class _EcdhProvider2 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 EcPublicKey2)) {\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 EcdhProvider2 = _EcdhProvider2;\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 _EdPrivateKey = class _EdPrivateKey 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(_EdPrivateKey, "EdPrivateKey");\nvar EdPrivateKey2 = _EdPrivateKey;\nvar _EdPublicKey = class _EdPublicKey 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(_EdPublicKey, "EdPublicKey");\nvar EdPublicKey2 = _EdPublicKey;\nvar _EdCrypto = class _EdCrypto {\n static async generateKey(algorithm, extractable, keyUsages) {\n const privateKey = new EdPrivateKey2();\n privateKey.algorithm = algorithm;\n privateKey.extractable = extractable;\n privateKey.usages = keyUsages.filter((usage) => this.privateKeyUsages.indexOf(usage) !== -1);\n const publicKey = new EdPublicKey2();\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 EdPrivateKey2();\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 EdPublicKey2();\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");\nvar EdCrypto = _EdCrypto;\nEdCrypto.publicKeyUsages = ["verify"];\nEdCrypto.privateKeyUsages = ["sign", "deriveKey", "deriveBits"];\nvar _EdDsaProvider2 = class _EdDsaProvider2 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 EdDsaProvider2 = _EdDsaProvider2;\nvar _EcdhEsProvider2 = class _EcdhEsProvider2 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 EcdhEsProvider2 = _EcdhEsProvider2;\nvar _PbkdfCryptoKey = class _PbkdfCryptoKey extends CryptoKey2 {\n};\n__name(_PbkdfCryptoKey, "PbkdfCryptoKey");\nvar PbkdfCryptoKey = _PbkdfCryptoKey;\nvar _Pbkdf2Provider2 = class _Pbkdf2Provider2 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 Pbkdf2Provider2 = _Pbkdf2Provider2;\nvar _HmacCryptoKey = class _HmacCryptoKey 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");\nvar HmacCryptoKey = _HmacCryptoKey;\n__decorate([\n JsonProp({ name: "k", converter: JsonBase64UrlConverter })\n], HmacCryptoKey.prototype, "data", void 0);\nvar _HmacProvider2 = class _HmacProvider2 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 HmacProvider2 = _HmacProvider2;\nvar _HkdfCryptoKey = class _HkdfCryptoKey extends CryptoKey2 {\n};\n__name(_HkdfCryptoKey, "HkdfCryptoKey");\nvar HkdfCryptoKey = _HkdfCryptoKey;\nvar _HkdfProvider2 = class _HkdfProvider2 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 HkdfProvider2 = _HkdfProvider2;\nvar _ShakeCrypto = class _ShakeCrypto {\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 ShakeCrypto = _ShakeCrypto;\nvar _Shake128Provider2 = class _Shake128Provider2 extends Shake128Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(_Shake128Provider2, "Shake128Provider");\nvar Shake128Provider2 = _Shake128Provider2;\nvar _Shake256Provider2 = class _Shake256Provider2 extends Shake256Provider {\n async onDigest(algorithm, data) {\n return ShakeCrypto.digest(algorithm, data);\n }\n};\n__name(_Shake256Provider2, "Shake256Provider");\nvar Shake256Provider2 = _Shake256Provider2;\nvar _SubtleCrypto2 = class _SubtleCrypto2 extends SubtleCrypto {\n constructor() {\n var _a7;\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 = (_a7 = /^v(\\d+)/.exec(process.version)) === null || _a7 === void 0 ? void 0 : _a7[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 SubtleCrypto2 = _SubtleCrypto2;\nvar _Crypto2 = class _Crypto2 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");\nvar Crypto2 = _Crypto2;\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'},853: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'},754: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 _Warning {\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 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 _Event {\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 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 var _a;\n if (Global.DOMException) {\n return new Global.DOMException(message, "InvalidStateError");\n }\n if (DOMException == null) {\n DOMException = (_a = class extends Error {\n constructor(msg) {\n super(msg);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, _a);\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 }, __name(_a, "DOMException"), _a);\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 _EventWrapper 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 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 const _CustomEventWrapper = class _CustomEventWrapper extends BaseEventWrapper {\n };\n __name(_CustomEventWrapper, "CustomEventWrapper");\n let 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 _EventTarget {\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 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 _FetchEvent 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 FetchEvent = _FetchEvent;\nvar _PromiseRejectionEvent = class _PromiseRejectionEvent 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");\nvar 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'},5: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);\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\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 "use strict";\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 _UndiciError 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 UndiciError = _UndiciError;\n var _ConnectTimeoutError = class _ConnectTimeoutError 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 ConnectTimeoutError = _ConnectTimeoutError;\n var _HeadersTimeoutError = class _HeadersTimeoutError 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 HeadersTimeoutError = _HeadersTimeoutError;\n var _HeadersOverflowError = class _HeadersOverflowError 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 HeadersOverflowError = _HeadersOverflowError;\n var _BodyTimeoutError = class _BodyTimeoutError 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 BodyTimeoutError = _BodyTimeoutError;\n var _ResponseStatusCodeError = class _ResponseStatusCodeError 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 ResponseStatusCodeError = _ResponseStatusCodeError;\n var _InvalidArgumentError = class _InvalidArgumentError extends UndiciError {\n constructor(message) {\n super(message);\n Error.captureStackTrace(this, _InvalidArgumentError);\n this.name = "InvalidArgumentError";\n this.message = message || "Invalid Argument Error";\n this.code = "UND_ERR_INVALID_ARG";\n }\n };\n __name(_InvalidArgumentError, "InvalidArgumentError");\n var InvalidArgumentError2 = _InvalidArgumentError;\n var _InvalidReturnValueError = class _InvalidReturnValueError 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 InvalidReturnValueError = _InvalidReturnValueError;\n var _RequestAbortedError = class _RequestAbortedError 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 RequestAbortedError = _RequestAbortedError;\n var _InformationalError = class _InformationalError 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 InformationalError = _InformationalError;\n var _RequestContentLengthMismatchError = class _RequestContentLengthMismatchError 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 RequestContentLengthMismatchError = _RequestContentLengthMismatchError;\n var _ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError 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 ResponseContentLengthMismatchError = _ResponseContentLengthMismatchError;\n var _ClientDestroyedError = class _ClientDestroyedError 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 ClientDestroyedError = _ClientDestroyedError;\n var _ClientClosedError = class _ClientClosedError 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 ClientClosedError = _ClientClosedError;\n var _SocketError = class _SocketError 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 SocketError = _SocketError;\n var _NotSupportedError = class _NotSupportedError 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 NotSupportedError = _NotSupportedError;\n var _BalancedPoolMissingUpstreamError = class _BalancedPoolMissingUpstreamError 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 BalancedPoolMissingUpstreamError = _BalancedPoolMissingUpstreamError;\n var _HTTPParserError = class _HTTPParserError 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 HTTPParserError = _HTTPParserError;\n var _ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError 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 var 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 "use strict";\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 _HeadersList {\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 HeadersList = _HeadersList;\n var _Headers = class _Headers {\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\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, _Headers);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, _Headers);\n return makeIterator(\n () => [...this[kHeadersSortedMap].values()],\n "Headers",\n "value"\n );\n }\n entries() {\n webidl.brandCheck(this, _Headers);\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, _Headers);\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, _Headers);\n return this[kHeadersList];\n }\n };\n __name(_Headers, "Headers");\n var 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 _SBMH {\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 var 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 _HeaderParser {\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 HeaderParser = _HeaderParser;\n var _FileStream = class _FileStream 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 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 _Multipart 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 var 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 _URLEncoded 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 var 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 "use strict";\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 _File = class _File 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, _File);\n return this[kState].name;\n }\n get lastModified() {\n webidl.brandCheck(this, _File);\n return this[kState].lastModified;\n }\n get type() {\n webidl.brandCheck(this, _File);\n return this[kState].type;\n }\n };\n __name(_File, "File");\n var File2 = _File;\n var _FileLike = class _FileLike {\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 var 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 _FormData = class _FormData {\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\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, _FormData);\n return makeIterator(\n () => this[kState].map((pair) => [pair.name, pair.value]),\n "FormData",\n "key"\n );\n }\n values() {\n webidl.brandCheck(this, _FormData);\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, _FormData);\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(_FormData, "FormData");\n var 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 _Response = class _Response {\n // Creates network error Response.\n static error() {\n const relevantRealm = { settingsObject: {} };\n const responseObject = new _Response();\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 _Response();\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 _Response();\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, _Response);\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, _Response);\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, _Response);\n return this[kState].urlList.length > 1;\n }\n // Returns response’s status.\n get status() {\n webidl.brandCheck(this, _Response);\n return this[kState].status;\n }\n // Returns whether response’s status is an ok status.\n get ok() {\n webidl.brandCheck(this, _Response);\n return this[kState].status >= 200 && this[kState].status <= 299;\n }\n // Returns response’s status message.\n get statusText() {\n webidl.brandCheck(this, _Response);\n return this[kState].statusText;\n }\n // Returns response’s headers as Headers.\n get headers() {\n webidl.brandCheck(this, _Response);\n return this[kHeaders2];\n }\n get body() {\n webidl.brandCheck(this, _Response);\n return this[kState].body ? this[kState].body.stream : null;\n }\n get bodyUsed() {\n webidl.brandCheck(this, _Response);\n return !!this[kState].body && util.isDisturbed(this[kState].body.stream);\n }\n // Returns a clone of response.\n clone() {\n webidl.brandCheck(this, _Response);\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 _Response();\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(_Response, "Response");\n var 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 _CompatWeakRef {\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 CompatWeakRef = _CompatWeakRef;\n var _CompatFinalizer = class _CompatFinalizer {\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 var 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 "use strict";\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 _Request2 {\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 var Request2 = _Request2;\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 _Dispatcher 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 var 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 _DispatcherBase 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 var 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 _FixedCircularBuffer {\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 var FixedCircularBuffer = _FixedCircularBuffer;\n var _a;\n module2.exports = (_a = class {\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 }, __name(_a, "FixedQueue"), _a);\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 "use strict";\n init_define_process();\n var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols2();\n var kPool = Symbol("pool");\n var _PoolStats = class _PoolStats {\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 var 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 _PoolBase 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 var 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 _Timeout {\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 var 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 _Request2 {\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 var Request2 = _Request2;\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 var _a, _b;\n if (global.FinalizationRegistry) {\n SessionCache = (_a = class {\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 }, __name(_a, "WeakSessionCache"), _a);\n } else {\n SessionCache = (_b = class {\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 }, __name(_b, "SimpleSessionCache"), _b);\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 _BodyAsyncIterable {\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 BodyAsyncIterable = _BodyAsyncIterable;\n var _RedirectHandler = class _RedirectHandler {\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 var 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 "use strict";\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+AQsgACgCBCEqIABBADYCBAJAIAAgKiABELmAgIAAIioNACABQQFqIQEMjgELIABBEzYCHCAAICo2AgwgACABQQFqNgIUQQAhKgz9AQsgACgCBCEEIABBADYCBAJAIAAgBCABELmAgIAAIgQNACABQQFqIQEM9AELIABBFDYCHCAAIAQ2AgwgACABQQFqNgIUQQAhKgz8AQsgKkEVRg3FASAAQQA2AhwgACABNgIUIABBmo+AgAA2AhAgAEEiNgIMQQAhKgz7AQsgACgCBCEqIABBADYCBAJAIAAgKiABELeAgIAAIioNACABQQFqIQEMjAELIABBFjYCHCAAICo2AgwgACABQQFqNgIUQQAhKgz6AQsgACgCBCEEIABBADYCBAJAIAAgBCABELeAgIAAIgQNACABQQFqIQEM8AELIABBFzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhKgz5AQsgAEEANgIcIAAgATYCFCAAQc2TgIAANgIQIABBDDYCDEEAISoM+AELQgEhKwsgKkEBaiEBAkAgACkDICIsQv//////////D1YNACAAICxCBIYgK4Q3AyAgASEBDIoBCyAAQQA2AhwgACABNgIUIABBrYmAgAA2AhAgAEEMNgIMQQAhKgz2AQsgAEEANgIcIAAgKjYCFCAAQc2TgIAANgIQIABBDDYCDEEAISoM9QELIAAoAgQhMiAAQQA2AgQgKiArp2oiLyEBIAAgMiAqIC8gLhsiKhC1gICAACIuRQ15IABBBTYCHCAAICo2AhQgACAuNgIMQQAhKgz0AQsgAEEANgIcIAAgKjYCFCAAQaqcgIAANgIQIABBDzYCDEEAISoM8wELIAAgKiACELSAgIAAIgENASAqIQELQQ4hKgzYAQsCQCABQRVHDQAgAEECNgIcIAAgKjYCFCAAQbCYgIAANgIQIABBFTYCDEEAISoM8QELIABBADYCHCAAICo2AhQgAEGnjoCAADYCECAAQRI2AgxBACEqDPABCyABQQFqISoCQCAALwEwIgFBgAFxRQ0AAkAgACAqIAIQu4CAgAAiAQ0AICohAQx2CyABQRVHDcIBIABBBTYCHCAAICo2AhQgAEH5l4CAADYCECAAQRU2AgxBACEqDPABCwJAIAFBoARxQaAERw0AIAAtAC1BAnENACAAQQA2AhwgACAqNgIUIABBlpOAgAA2AhAgAEEENgIMQQAhKgzwAQsgACAqIAIQvYCAgAAaICohAQJAAkACQAJAAkAgACAqIAIQs4CAgAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyAAQQE6AC4LIAAgAC8BMEHAAHI7ATAgKiEBC0EmISoM2AELIABBIzYCHCAAICo2AhQgAEGlloCAADYCECAAQRU2AgxBACEqDPABCyAAQQA2AhwgACAqNgIUIABB1YuAgAA2AhAgAEERNgIMQQAhKgzvAQsgAC0ALUEBcUUNAUHDASEqDNUBCwJAICcgAkYNAANAAkAgJy0AAEEgRg0AICchAQzRAQsgJ0EBaiInIAJHDQALQSUhKgzuAQtBJSEqDO0BCyAAKAIEIQEgAEEANgIEIAAgASAnEK+AgIAAIgFFDbUBIABBJjYCHCAAIAE2AgwgACAnQQFqNgIUQQAhKgzsAQsgKkEVRg2zASAAQQA2AhwgACABNgIUIABB/Y2AgAA2AhAgAEEdNgIMQQAhKgzrAQsgAEEnNgIcIAAgATYCFCAAICo2AgxBACEqDOoBCyAqIQFBASEuAkACQAJAAkACQAJAAkAgAC0ALEF+ag4HBgUFAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIS4MAQtBBCEuCyAAQQE6ACwgACAALwEwIC5yOwEwCyAqIQELQSshKgzRAQsgAEEANgIcIAAgKjYCFCAAQauSgIAANgIQIABBCzYCDEEAISoM6QELIABBADYCHCAAIAE2AhQgAEHhj4CAADYCECAAQQo2AgxBACEqDOgBCyAAQQA6ACwgKiEBDMIBCyAqIQFBASEuAkACQAJAAkACQCAALQAsQXtqDgQDAQIABQsgACAALwEwQQhyOwEwDAMLQQIhLgwBC0EEIS4LIABBAToALCAAIAAvATAgLnI7ATALICohAQtBKSEqDMwBCyAAQQA2AhwgACABNgIUIABB8JSAgAA2AhAgAEEDNgIMQQAhKgzkAQsCQCAoLQAAQQ1HDQAgACgCBCEBIABBADYCBAJAIAAgASAoELGAgIAAIgENACAoQQFqIQEMewsgAEEsNgIcIAAgATYCDCAAIChBAWo2AhRBACEqDOQBCyAALQAtQQFxRQ0BQcQBISoMygELAkAgKCACRw0AQS0hKgzjAQsCQAJAA0ACQCAoLQAAQXZqDgQCAAADAAsgKEEBaiIoIAJHDQALQS0hKgzkAQsgACgCBCEBIABBADYCBAJAIAAgASAoELGAgIAAIgENACAoIQEMegsgAEEsNgIcIAAgKDYCFCAAIAE2AgxBACEqDOMBCyAAKAIEIQEgAEEANgIEAkAgACABICgQsYCAgAAiAQ0AIChBAWohAQx5CyAAQSw2AhwgACABNgIMIAAgKEEBajYCFEEAISoM4gELIAAoAgQhASAAQQA2AgQgACABICgQsYCAgAAiAQ2oASAoIQEM1QELICpBLEcNASABQQFqISpBASEBAkACQAJAAkACQCAALQAsQXtqDgQDAQIEAAsgKiEBDAQLQQIhAQwBC0EEIQELIABBAToALCAAIAAvATAgAXI7ATAgKiEBDAELIAAgAC8BMEEIcjsBMCAqIQELQTkhKgzGAQsgAEEAOgAsIAEhAQtBNCEqDMQBCyAAQQA2AgAgLyAwa0EJaiEBQQUhKgy/AQsgAEEANgIAIC8gMGtBBmohAUEHISoMvgELIAAgAC8BMEEgcjsBMCABIQEMAgsgACgCBCEEIABBADYCBAJAIAAgBCABELGAgIAAIgQNACABIQEMzAELIABBNzYCHCAAIAE2AhQgACAENgIMQQAhKgzZAQsgAEEIOgAsIAEhAQtBMCEqDL4BCwJAIAAtAChBAUYNACABIQEMBAsgAC0ALUEIcUUNmQEgASEBDAMLIAAtADBBIHENmgFBxQEhKgy8AQsCQCApIAJGDQACQANAAkAgKS0AAEFQaiIBQf8BcUEKSQ0AICkhAUE1ISoMvwELIAApAyAiK0KZs+bMmbPmzBlWDQEgACArQgp+Iis3AyAgKyABrSIsQn+FQoB+hFYNASAAICsgLEL/AYN8NwMgIClBAWoiKSACRw0AC0E5ISoM1gELIAAoAgQhBCAAQQA2AgQgACAEIClBAWoiARCxgICAACIEDZsBIAEhAQzIAQtBOSEqDNQBCwJAIAAvATAiAUEIcUUNACAALQAoQQFHDQAgAC0ALUEIcUUNlgELIAAgAUH3+wNxQYAEcjsBMCApIQELQTchKgy5AQsgACAALwEwQRByOwEwDK4BCyAqQRVGDZEBIABBADYCHCAAIAE2AhQgAEHwjoCAADYCECAAQRw2AgxBACEqDNABCyAAQcMANgIcIAAgATYCDCAAICdBAWo2AhRBACEqDM8BCwJAIAEtAABBOkcNACAAKAIEISogAEEANgIEAkAgACAqIAEQr4CAgAAiKg0AIAFBAWohAQxnCyAAQcMANgIcIAAgKjYCDCAAIAFBAWo2AhRBACEqDM8BCyAAQQA2AhwgACABNgIUIABBsZGAgAA2AhAgAEEKNgIMQQAhKgzOAQsgAEEANgIcIAAgATYCFCAAQaCZgIAANgIQIABBHjYCDEEAISoMzQELIAFBAWohAQsgAEGAEjsBKiAAIAEgAhCogICAACIqDQEgASEBC0HHACEqDLEBCyAqQRVHDYkBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhKgzJAQsgACgCBCEqIABBADYCBAJAIAAgKiABEKeAgIAAIioNACABIQEMYgsgAEHSADYCHCAAIAE2AhQgACAqNgIMQQAhKgzIAQsgAEEANgIcIAAgLjYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEqDMcBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxhCyAAQdMANgIcIAAgATYCFCAAICo2AgxBACEqDMYBC0EAISogAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzFAQsgKkEVRg2DASAAQQA2AhwgACABNgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhKgzEAQtBASEvQQAhMkEAIS5BASEqCyAAICo6ACsgAUEBaiEBAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgL0UNAwwCCyAuDQEMAgsgMkUNAQsgACgCBCEqIABBADYCBAJAIAAgKiABEK2AgIAAIioNACABIQEMYAsgAEHYADYCHCAAIAE2AhQgACAqNgIMQQAhKgzDAQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMsgELIABB2QA2AhwgACABNgIUIAAgBDYCDEEAISoMwgELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDLABCyAAQdoANgIcIAAgATYCFCAAIAQ2AgxBACEqDMEBCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQyuAQsgAEHcADYCHCAAIAE2AhQgACAENgIMQQAhKgzAAQtBASEqCyAAICo6ACogAUEBaiEBDFwLIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKoBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEqDL0BCyAAQQA2AgAgMiAva0EEaiEBAkAgAC0AKUEjTw0AIAEhAQxcCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhKgy8AQsgAEEANgIAC0EAISogAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy6AQsgAEEANgIAIDIgL2tBA2ohAQJAIAAtAClBIUcNACABIQEMWQsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAISoMuQELIABBADYCACAyIC9rQQRqIQECQCAALQApIipBXWpBC08NACABIQEMWAsCQCAqQQZLDQBBASAqdEHKAHFFDQAgASEBDFgLQQAhKiAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLgBCyAqQRVGDXUgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAISoMtwELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFcLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMtgELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0gA2AhwgACABNgIUIAAgKjYCDEEAISoMtQELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDE8LIABB0wA2AhwgACABNgIUIAAgKjYCDEEAISoMtAELIAAoAgQhKiAAQQA2AgQCQCAAICogARCngICAACIqDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgKjYCDEEAISoMswELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEqDLIBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdIANgIcIAAgATYCFCAAICo2AgxBACEqDLEBCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxLCyAAQdMANgIcIAAgATYCFCAAICo2AgxBACEqDLABCyAAKAIEISogAEEANgIEAkAgACAqIAEQp4CAgAAiKg0AIAEhAQxQCyAAQeUANgIcIAAgATYCFCAAICo2AgxBACEqDK8BCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhKgyuAQsgKkE/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 "use strict";\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 _Client 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 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 _Parser {\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 var 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 _AsyncWriter {\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 var 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 _Pool 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 var 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 _Agent = class _Agent 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(_Agent, "Agent");\n var 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 _Fetch 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 var 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 _eventInit;\n var _MessageEvent = class _MessageEvent extends Event {\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 __privateAdd(this, _eventInit, void 0);\n __privateSet(this, _eventInit, eventInitDict);\n }\n get data() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).data;\n }\n get origin() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).origin;\n }\n get lastEventId() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).lastEventId;\n }\n get source() {\n webidl.brandCheck(this, _MessageEvent);\n return __privateGet(this, _eventInit).source;\n }\n get ports() {\n webidl.brandCheck(this, _MessageEvent);\n if (!Object.isFrozen(__privateGet(this, _eventInit).ports)) {\n Object.freeze(__privateGet(this, _eventInit).ports);\n }\n return __privateGet(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 _eventInit = new WeakMap();\n __name(_MessageEvent, "MessageEvent");\n var MessageEvent = _MessageEvent;\n var _eventInit2;\n var _CloseEvent = class _CloseEvent extends Event {\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 __privateAdd(this, _eventInit2, void 0);\n __privateSet(this, _eventInit2, eventInitDict);\n }\n get wasClean() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).wasClean;\n }\n get code() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).code;\n }\n get reason() {\n webidl.brandCheck(this, _CloseEvent);\n return __privateGet(this, _eventInit2).reason;\n }\n };\n _eventInit2 = new WeakMap();\n __name(_CloseEvent, "CloseEvent");\n var CloseEvent = _CloseEvent;\n var _eventInit3;\n var _ErrorEvent = class _ErrorEvent extends Event {\n constructor(type, eventInitDict) {\n webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" });\n super(type, eventInitDict);\n __privateAdd(this, _eventInit3, void 0);\n type = webidl.converters.DOMString(type);\n eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {});\n __privateSet(this, _eventInit3, eventInitDict);\n }\n get message() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).message;\n }\n get filename() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).filename;\n }\n get lineno() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).lineno;\n }\n get colno() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).colno;\n }\n get error() {\n webidl.brandCheck(this, _ErrorEvent);\n return __privateGet(this, _eventInit3).error;\n }\n };\n _eventInit3 = new WeakMap();\n __name(_ErrorEvent, "ErrorEvent");\n var 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 _WebsocketFrameSend {\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 var 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 _buffers, _byteOffset, _state, _info, _fragments;\n var _ByteParser = class _ByteParser extends Writable {\n constructor(ws) {\n super();\n __privateAdd(this, _buffers, []);\n __privateAdd(this, _byteOffset, 0);\n __privateAdd(this, _state, parserStates.INFO);\n __privateAdd(this, _info, {});\n __privateAdd(this, _fragments, []);\n this.ws = ws;\n }\n /**\n * @param {Buffer} chunk\n * @param {() => void} callback\n */\n _write(chunk, _, callback) {\n __privateGet(this, _buffers).push(chunk);\n __privateSet(this, _byteOffset, __privateGet(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 (__privateGet(this, _state) === parserStates.INFO) {\n if (__privateGet(this, _byteOffset) < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n __privateGet(this, _info).fin = (buffer[0] & 128) !== 0;\n __privateGet(this, _info).opcode = buffer[0] & 15;\n (_a = __privateGet(this, _info)).originalOpcode ?? (_a.originalOpcode = __privateGet(this, _info).opcode);\n __privateGet(this, _info).fragmented = !__privateGet(this, _info).fin && __privateGet(this, _info).opcode !== opcodes.CONTINUATION;\n if (__privateGet(this, _info).fragmented && __privateGet(this, _info).opcode !== opcodes.BINARY && __privateGet(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 __privateGet(this, _info).payloadLength = payloadLength;\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (payloadLength === 126) {\n __privateSet(this, _state, parserStates.PAYLOADLENGTH_16);\n } else if (payloadLength === 127) {\n __privateSet(this, _state, parserStates.PAYLOADLENGTH_64);\n }\n if (__privateGet(this, _info).fragmented && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes.");\n return;\n } else if ((__privateGet(this, _info).opcode === opcodes.PING || __privateGet(this, _info).opcode === opcodes.PONG || __privateGet(this, _info).opcode === opcodes.CLOSE) && payloadLength > 125) {\n failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes.");\n return;\n } else if (__privateGet(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 __privateGet(this, _info).closeInfo = this.parseCloseBody(false, body);\n if (!this.ws[kSentClose]) {\n const body2 = Buffer.allocUnsafe(2);\n body2.writeUInt16BE(__privateGet(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 (__privateGet(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 __privateSet(this, _state, parserStates.INFO);\n if (__privateGet(this, _byteOffset) > 0) {\n continue;\n } else {\n callback();\n return;\n }\n } else if (__privateGet(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 (__privateGet(this, _byteOffset) > 0) {\n continue;\n } else {\n callback();\n return;\n }\n }\n } else if (__privateGet(this, _state) === parserStates.PAYLOADLENGTH_16) {\n if (__privateGet(this, _byteOffset) < 2) {\n return callback();\n }\n const buffer = this.consume(2);\n __privateGet(this, _info).payloadLength = buffer.readUInt16BE(0);\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (__privateGet(this, _state) === parserStates.PAYLOADLENGTH_64) {\n if (__privateGet(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 __privateGet(this, _info).payloadLength = (upper << 8) + lower;\n __privateSet(this, _state, parserStates.READ_DATA);\n } else if (__privateGet(this, _state) === parserStates.READ_DATA) {\n if (__privateGet(this, _byteOffset) < __privateGet(this, _info).payloadLength) {\n return callback();\n } else if (__privateGet(this, _byteOffset) >= __privateGet(this, _info).payloadLength) {\n const body = this.consume(__privateGet(this, _info).payloadLength);\n __privateGet(this, _fragments).push(body);\n if (!__privateGet(this, _info).fragmented || __privateGet(this, _info).fin && __privateGet(this, _info).opcode === opcodes.CONTINUATION) {\n const fullMessage = Buffer.concat(__privateGet(this, _fragments));\n websocketMessageReceived(this.ws, __privateGet(this, _info).originalOpcode, fullMessage);\n __privateSet(this, _info, {});\n __privateGet(this, _fragments).length = 0;\n }\n __privateSet(this, _state, parserStates.INFO);\n }\n }\n if (__privateGet(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 > __privateGet(this, _byteOffset)) {\n return null;\n } else if (n === 0) {\n return emptyBuffer;\n }\n if (__privateGet(this, _buffers)[0].length === n) {\n __privateSet(this, _byteOffset, __privateGet(this, _byteOffset) - __privateGet(this, _buffers)[0].length);\n return __privateGet(this, _buffers).shift();\n }\n const buffer = Buffer.allocUnsafe(n);\n let offset = 0;\n while (offset !== n) {\n const next = __privateGet(this, _buffers)[0];\n const { length } = next;\n if (length + offset === n) {\n buffer.set(__privateGet(this, _buffers).shift(), offset);\n break;\n } else if (length + offset > n) {\n buffer.set(next.subarray(0, n - offset), offset);\n __privateGet(this, _buffers)[0] = next.subarray(n - offset);\n break;\n } else {\n buffer.set(__privateGet(this, _buffers).shift(), offset);\n offset += next.length;\n }\n }\n __privateSet(this, _byteOffset, __privateGet(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 __privateGet(this, _info).closeInfo;\n }\n };\n _buffers = new WeakMap();\n _byteOffset = new WeakMap();\n _state = new WeakMap();\n _info = new WeakMap();\n _fragments = new WeakMap();\n __name(_ByteParser, "ByteParser");\n var 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 _events, _bufferedAmount, _protocol, _extensions, _onConnectionEstablished, onConnectionEstablished_fn;\n var _WebSocket = class _WebSocket extends EventTarget {\n /**\n * @param {string} url\n * @param {string|string[]} protocols\n */\n constructor(url, protocols = []) {\n super();\n /**\n * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol\n */\n __privateAdd(this, _onConnectionEstablished);\n __privateAdd(this, _events, {\n open: null,\n error: null,\n close: null,\n message: null\n });\n __privateAdd(this, _bufferedAmount, 0);\n __privateAdd(this, _protocol, "");\n __privateAdd(this, _extensions, "");\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) => __privateMethod(this, _onConnectionEstablished, onConnectionEstablished_fn).call(this, response),\n options\n );\n this[kReadyState] = _WebSocket.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, _WebSocket);\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] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) {\n } else if (!isEstablished(this)) {\n failWebsocketConnection(this, "Connection was closed before it was established.");\n this[kReadyState] = _WebSocket.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] = _WebSocket.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, _WebSocket);\n webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" });\n data = webidl.converters.WebSocketSendData(data);\n if (this[kReadyState] === _WebSocket.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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + ab.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(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 __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) + value.byteLength);\n socket.write(buffer, () => {\n __privateSet(this, _bufferedAmount, __privateGet(this, _bufferedAmount) - value.byteLength);\n });\n });\n }\n }\n get readyState() {\n webidl.brandCheck(this, _WebSocket);\n return this[kReadyState];\n }\n get bufferedAmount() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _bufferedAmount);\n }\n get url() {\n webidl.brandCheck(this, _WebSocket);\n return URLSerializer(this[kWebSocketURL]);\n }\n get extensions() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _extensions);\n }\n get protocol() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _protocol);\n }\n get onopen() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).open;\n }\n set onopen(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).open) {\n this.removeEventListener("open", __privateGet(this, _events).open);\n }\n if (typeof fn === "function") {\n __privateGet(this, _events).open = fn;\n this.addEventListener("open", fn);\n } else {\n __privateGet(this, _events).open = null;\n }\n }\n get onerror() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).error;\n }\n set onerror(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).error) {\n this.removeEventListener("error", __privateGet(this, _events).error);\n }\n if (typeof fn === "function") {\n __privateGet(this, _events).error = fn;\n this.addEventListener("error", fn);\n } else {\n __privateGet(this, _events).error = null;\n }\n }\n get onclose() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).close;\n }\n set onclose(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).close) {\n this.removeEventListener("close", __privateGet(this, _events).close);\n }\n if (typeof fn === "function") {\n __privateGet(this, _events).close = fn;\n this.addEventListener("close", fn);\n } else {\n __privateGet(this, _events).close = null;\n }\n }\n get onmessage() {\n webidl.brandCheck(this, _WebSocket);\n return __privateGet(this, _events).message;\n }\n set onmessage(fn) {\n webidl.brandCheck(this, _WebSocket);\n if (__privateGet(this, _events).message) {\n this.removeEventListener("message", __privateGet(this, _events).message);\n }\n if (typeof fn === "function") {\n __privateGet(this, _events).message = fn;\n this.addEventListener("message", fn);\n } else {\n __privateGet(this, _events).message = null;\n }\n }\n get binaryType() {\n webidl.brandCheck(this, _WebSocket);\n return this[kBinaryType];\n }\n set binaryType(type) {\n webidl.brandCheck(this, _WebSocket);\n if (type !== "blob" && type !== "arraybuffer") {\n this[kBinaryType] = "blob";\n } else {\n this[kBinaryType] = type;\n }\n }\n };\n _events = new WeakMap();\n _bufferedAmount = new WeakMap();\n _protocol = new WeakMap();\n _extensions = new WeakMap();\n _onConnectionEstablished = new WeakSet();\n onConnectionEstablished_fn = /* @__PURE__ */ __name(function(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 __privateSet(this, _extensions, extensions);\n }\n const protocol = response.headersList.get("sec-websocket-protocol");\n if (protocol !== null) {\n __privateSet(this, _protocol, protocol);\n }\n fireEvent("open", this);\n }, "#onConnectionEstablished");\n __name(_WebSocket, "WebSocket");\n var 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 _Request extends import_request.Request {\n constructor(input, init) {\n super(input, addDuplexToInit(init));\n }\n};\n__name(_Request, "Request");\nvar 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'},740:(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__(853),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__(154),scopedContext:e});assign(n,{console:r.console});const A=requireWithFakeGlobalScope({context:n,id:"events.js",sourceCode:__nccwpck_require__(754),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__(183),scopedContext:{...e}});const a=requireWithFakeGlobalScope({context:n,id:"text-encoding-streams.js",sourceCode:__nccwpck_require__(257),scopedContext:{...o,...e}});assign(n,{ReadableStream:o.ReadableStream,ReadableStreamBYOBReader:o.ReadableStreamBYOBReader,ReadableStreamDefaultReader:o.ReadableStreamDefaultReader,TextDecoderStream:a.TextDecoderStream,TextEncoderStream:a.TextEncoderStream,TransformStream:o.TransformStream,WritableStream:o.WritableStream,WritableStreamDefaultWriter:o.WritableStreamDefaultWriter});const i=requireWithFakeGlobalScope({context:n,id:"abort-controller.js",sourceCode:__nccwpck_require__(552),scopedContext:{...A,...e}});assign(n,{AbortController:i.AbortController,AbortSignal:i.AbortSignal,DOMException:i.DOMException});const s=requireWithFakeGlobalScope({context:n,id:"url.js",sourceCode:__nccwpck_require__(998),scopedContext:{...e}});assign(n,{URL:URL,URLSearchParams:URLSearchParams,URLPattern:s.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__(690),scopedContext:t})})();assign(n,{Blob:l.Blob});const c=requireWithFakeGlobalScope({id:"structured-clone.js",context:n,sourceCode:__nccwpck_require__(330),scopedContext:{...o,...e}});assign(n,{structuredClone:c.structuredClone});const u=requireWithFakeGlobalScope({context:n,id:"fetch.js",sourceCode:__nccwpck_require__(5),cache:new Map([["abort-controller",{exports:i}],["streams",{exports:o}]]),scopedContext:{global:{...e},...e,...o,...s,...i,...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__(371),scopedContext:{...n}})}__name(getCrypto,"getCrypto");function assign(e,n){Object.assign(e,n)}__name(assign,"assign");0&&0},183: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 _S {\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 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 _ReadableStreamDefaultReader {\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");\nvar 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 _te {\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 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 _ReadableStreamBYOBRequest {\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");\nvar 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 _ReadableByteStreamController {\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");\nvar 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 _ReadableStreamBYOBReader {\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");\nvar 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 _WritableStream {\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");\nvar 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 _WritableStreamDefaultWriter {\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");\nvar 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 _WritableStreamDefaultController {\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");\nvar 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 _ReadableStreamDefaultController {\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");\nvar 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 _ReadableStream {\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");\nvar 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 _ByteLengthQueuingStrategy {\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");\nvar 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 _CountQueuingStrategy {\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");\nvar 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 _TransformStream {\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");\nvar 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 _TransformStreamDefaultController {\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");\nvar 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'},330: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'},257: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 _TextDecodeTransformer {\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 TextDecodeTransformer = _TextDecodeTransformer;\nvar _TextDecoderStream = class _TextDecoderStream {\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 TextDecoderStream = _TextDecoderStream;\nvar encEncoder = Symbol("encEncoder");\nvar encTransform = Symbol("encTransform");\nvar _TextEncodeTransformer = class _TextEncodeTransformer {\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 TextEncodeTransformer = _TextEncodeTransformer;\nvar _TextEncoderStream = class _TextEncoderStream {\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");\nvar TextEncoderStream = _TextEncoderStream;\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n TextDecoderStream,\n TextEncoderStream\n});\n'},998: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);\nvar __accessCheck = (obj, member, msg) => {\n if (!member.has(obj))\n throw TypeError("Cannot " + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n __accessCheck(obj, member, "read from private field");\n return getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n if (member.has(obj))\n throw TypeError("Cannot add the same private member more than once");\n member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n __accessCheck(obj, member, "write to private field");\n setter ? setter.call(obj, value) : member.set(obj, value);\n return value;\n};\nvar __privateMethod = (obj, member, method) => {\n __accessCheck(obj, member, "access private method");\n return method;\n};\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 _a;\nvar k = (_a = 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}, __name(_a, "k"), _a);\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 _i, _n, _t, _e, _s, _u, _c, _p, _d, _g, _r, r_fn, _k, k_fn, _P, P_fn, _f, f_fn, _m, m_fn, _a2, a_fn, _S, S_fn, _E, E_fn, _x, x_fn, _R, R_fn, _y, y_fn, _b, b_fn, _h, h_fn, _l, l_fn, _O, O_fn, _T, T_fn, _A, A_fn, _w, w_fn, _o, o_fn, _C, C_fn, _a3;\nvar U = (_a3 = class {\n constructor(t) {\n __privateAdd(this, _r);\n __privateAdd(this, _k);\n __privateAdd(this, _P);\n __privateAdd(this, _f);\n __privateAdd(this, _m);\n __privateAdd(this, _a2);\n __privateAdd(this, _S);\n __privateAdd(this, _E);\n __privateAdd(this, _x);\n __privateAdd(this, _R);\n __privateAdd(this, _y);\n __privateAdd(this, _b);\n __privateAdd(this, _h);\n __privateAdd(this, _l);\n __privateAdd(this, _O);\n __privateAdd(this, _T);\n __privateAdd(this, _A);\n __privateAdd(this, _w);\n __privateAdd(this, _o);\n __privateAdd(this, _C);\n __privateAdd(this, _i, void 0);\n __privateAdd(this, _n, []);\n __privateAdd(this, _t, {});\n __privateAdd(this, _e, 0);\n __privateAdd(this, _s, 1);\n __privateAdd(this, _u, 0);\n __privateAdd(this, _c, 0);\n __privateAdd(this, _p, 0);\n __privateAdd(this, _d, 0);\n __privateAdd(this, _g, false);\n __privateSet(this, _i, t);\n }\n get result() {\n return __privateGet(this, _t);\n }\n parse() {\n for (__privateSet(this, _n, v(__privateGet(this, _i), true)); __privateGet(this, _e) < __privateGet(this, _n).length; __privateSet(this, _e, __privateGet(this, _e) + __privateGet(this, _s))) {\n if (__privateSet(this, _s, 1), __privateGet(this, _n)[__privateGet(this, _e)].type === "END") {\n if (__privateGet(this, _c) === 0) {\n __privateMethod(this, _P, P_fn).call(this), __privateMethod(this, _l, l_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 9, 1) : __privateMethod(this, _h, h_fn).call(this) ? (__privateMethod(this, _r, r_fn).call(this, 8, 1), __privateGet(this, _t).hash = "") : (__privateMethod(this, _r, r_fn).call(this, 7, 0), __privateGet(this, _t).search = "", __privateGet(this, _t).hash = "");\n continue;\n } else if (__privateGet(this, _c) === 2) {\n __privateMethod(this, _f, f_fn).call(this, 5);\n continue;\n }\n __privateMethod(this, _r, r_fn).call(this, 10, 0);\n break;\n }\n if (__privateGet(this, _p) > 0)\n if (__privateMethod(this, _T, T_fn).call(this))\n __privateSet(this, _p, __privateGet(this, _p) - 1);\n else\n continue;\n if (__privateMethod(this, _O, O_fn).call(this)) {\n __privateSet(this, _p, __privateGet(this, _p) + 1);\n continue;\n }\n switch (__privateGet(this, _c)) {\n case 0:\n __privateMethod(this, _S, S_fn).call(this) && (__privateGet(this, _t).username = "", __privateGet(this, _t).password = "", __privateGet(this, _t).hostname = "", __privateGet(this, _t).port = "", __privateGet(this, _t).pathname = "", __privateGet(this, _t).search = "", __privateGet(this, _t).hash = "", __privateMethod(this, _f, f_fn).call(this, 1));\n break;\n case 1:\n if (__privateMethod(this, _S, S_fn).call(this)) {\n __privateMethod(this, _C, C_fn).call(this);\n let t = 7, r = 1;\n __privateGet(this, _g) && (__privateGet(this, _t).pathname = "/"), __privateMethod(this, _E, E_fn).call(this) ? (t = 2, r = 3) : __privateGet(this, _g) && (t = 2), __privateMethod(this, _r, r_fn).call(this, t, r);\n }\n break;\n case 2:\n __privateMethod(this, _x, x_fn).call(this) ? __privateMethod(this, _f, f_fn).call(this, 3) : (__privateMethod(this, _b, b_fn).call(this) || __privateMethod(this, _h, h_fn).call(this) || __privateMethod(this, _l, l_fn).call(this)) && __privateMethod(this, _f, f_fn).call(this, 5);\n break;\n case 3:\n __privateMethod(this, _R, R_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 4, 1) : __privateMethod(this, _x, x_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 5, 1);\n break;\n case 4:\n __privateMethod(this, _x, x_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 5, 1);\n break;\n case 5:\n __privateMethod(this, _A, A_fn).call(this) ? __privateSet(this, _d, __privateGet(this, _d) + 1) : __privateMethod(this, _w, w_fn).call(this) && __privateSet(this, _d, __privateGet(this, _d) - 1), __privateMethod(this, _y, y_fn).call(this) && !__privateGet(this, _d) ? __privateMethod(this, _r, r_fn).call(this, 6, 1) : __privateMethod(this, _b, b_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 7, 0) : __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 6:\n __privateMethod(this, _b, b_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 7, 0) : __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 7:\n __privateMethod(this, _h, h_fn).call(this) ? __privateMethod(this, _r, r_fn).call(this, 8, 1) : __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 8:\n __privateMethod(this, _l, l_fn).call(this) && __privateMethod(this, _r, r_fn).call(this, 9, 1);\n break;\n case 9:\n break;\n case 10:\n break;\n }\n }\n }\n}, _i = new WeakMap(), _n = new WeakMap(), _t = new WeakMap(), _e = new WeakMap(), _s = new WeakMap(), _u = new WeakMap(), _c = new WeakMap(), _p = new WeakMap(), _d = new WeakMap(), _g = new WeakMap(), _r = new WeakSet(), r_fn = /* @__PURE__ */ __name(function(t, r) {\n switch (__privateGet(this, _c)) {\n case 0:\n break;\n case 1:\n __privateGet(this, _t).protocol = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 2:\n break;\n case 3:\n __privateGet(this, _t).username = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 4:\n __privateGet(this, _t).password = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 5:\n __privateGet(this, _t).hostname = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 6:\n __privateGet(this, _t).port = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 7:\n __privateGet(this, _t).pathname = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 8:\n __privateGet(this, _t).search = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 9:\n __privateGet(this, _t).hash = __privateMethod(this, _o, o_fn).call(this);\n break;\n case 10:\n break;\n }\n __privateMethod(this, _k, k_fn).call(this, t, r);\n}, "#r"), _k = new WeakSet(), k_fn = /* @__PURE__ */ __name(function(t, r) {\n __privateSet(this, _c, t), __privateSet(this, _u, __privateGet(this, _e) + r), __privateSet(this, _e, __privateGet(this, _e) + r), __privateSet(this, _s, 0);\n}, "#k"), _P = new WeakSet(), P_fn = /* @__PURE__ */ __name(function() {\n __privateSet(this, _e, __privateGet(this, _u)), __privateSet(this, _s, 0);\n}, "#P"), _f = new WeakSet(), f_fn = /* @__PURE__ */ __name(function(t) {\n __privateMethod(this, _P, P_fn).call(this), __privateSet(this, _c, t);\n}, "#f"), _m = new WeakSet(), m_fn = /* @__PURE__ */ __name(function(t) {\n return t < 0 && (t = __privateGet(this, _n).length - t), t < __privateGet(this, _n).length ? __privateGet(this, _n)[t] : __privateGet(this, _n)[__privateGet(this, _n).length - 1];\n}, "#m"), _a2 = new WeakSet(), a_fn = /* @__PURE__ */ __name(function(t, r) {\n let n = __privateMethod(this, _m, m_fn).call(this, t);\n return n.value === r && (n.type === "CHAR" || n.type === "ESCAPED_CHAR" || n.type === "INVALID_CHAR");\n}, "#a"), _S = new WeakSet(), S_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), ":");\n}, "#S"), _E = new WeakSet(), E_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e) + 1, "/") && __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e) + 2, "/");\n}, "#E"), _x = new WeakSet(), x_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "@");\n}, "#x"), _R = new WeakSet(), R_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), ":");\n}, "#R"), _y = new WeakSet(), y_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), ":");\n}, "#y"), _b = new WeakSet(), b_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "/");\n}, "#b"), _h = new WeakSet(), h_fn = /* @__PURE__ */ __name(function() {\n if (__privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "?"))\n return true;\n if (__privateGet(this, _n)[__privateGet(this, _e)].value !== "?")\n return false;\n let t = __privateMethod(this, _m, m_fn).call(this, __privateGet(this, _e) - 1);\n return t.type !== "NAME" && t.type !== "REGEX" && t.type !== "CLOSE" && t.type !== "ASTERISK";\n}, "#h"), _l = new WeakSet(), l_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "#");\n}, "#l"), _O = new WeakSet(), O_fn = /* @__PURE__ */ __name(function() {\n return __privateGet(this, _n)[__privateGet(this, _e)].type == "OPEN";\n}, "#O"), _T = new WeakSet(), T_fn = /* @__PURE__ */ __name(function() {\n return __privateGet(this, _n)[__privateGet(this, _e)].type == "CLOSE";\n}, "#T"), _A = new WeakSet(), A_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "[");\n}, "#A"), _w = new WeakSet(), w_fn = /* @__PURE__ */ __name(function() {\n return __privateMethod(this, _a2, a_fn).call(this, __privateGet(this, _e), "]");\n}, "#w"), _o = new WeakSet(), o_fn = /* @__PURE__ */ __name(function() {\n let t = __privateGet(this, _n)[__privateGet(this, _e)], r = __privateMethod(this, _m, m_fn).call(this, __privateGet(this, _u)).index;\n return __privateGet(this, _i).substring(r, t.index);\n}, "#o"), _C = new WeakSet(), C_fn = /* @__PURE__ */ __name(function() {\n let t = {};\n Object.assign(t, b), t.encodePart = A;\n let r = Z(__privateMethod(this, _o, o_fn).call(this), void 0, t);\n __privateSet(this, _g, N(r));\n}, "#C"), __name(_a3, "U"), _a3);\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 _i2, _n2, _t2, _e2, _s2, _a4;\nvar me = (_a4 = class {\n constructor(t = {}, r, n) {\n __privateAdd(this, _i2, void 0);\n __privateAdd(this, _n2, {});\n __privateAdd(this, _t2, {});\n __privateAdd(this, _e2, {});\n __privateAdd(this, _s2, {});\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 __privateSet(this, _i2, w(l, t, true)), _(__privateGet(this, _i2).protocol) === __privateGet(this, _i2).port && (__privateGet(this, _i2).port = "");\n let s;\n for (s of V) {\n if (!(s in __privateGet(this, _i2)))\n continue;\n let i = {}, a = __privateGet(this, _i2)[s];\n switch (__privateGet(this, _t2)[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(__privateGet(this, _n2).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 __privateGet(this, _s2)[s] = D(a, i), __privateGet(this, _n2)[s] = F(__privateGet(this, _s2)[s], __privateGet(this, _t2)[s], i), __privateGet(this, _e2)[s] = ye(__privateGet(this, _s2)[s], i);\n } catch {\n throw new TypeError(`invalid ${s} pattern \'${__privateGet(this, _i2)[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 (!__privateGet(this, _n2)[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 = __privateGet(this, _n2)[c].exec(n[c]);\n if (!l)\n return null;\n let s = {};\n for (let [i, a] of __privateGet(this, _t2)[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 !__privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? 0 : __privateGet(r, _e2)[t] && !__privateGet(n, _e2)[t] ? s(__privateGet(r, _s2)[t], [l]) : !__privateGet(r, _e2)[t] && __privateGet(n, _e2)[t] ? s([l], __privateGet(n, _s2)[t]) : s(__privateGet(r, _s2)[t], __privateGet(n, _s2)[t]);\n }\n get protocol() {\n return __privateGet(this, _e2).protocol;\n }\n get username() {\n return __privateGet(this, _e2).username;\n }\n get password() {\n return __privateGet(this, _e2).password;\n }\n get hostname() {\n return __privateGet(this, _e2).hostname;\n }\n get port() {\n return __privateGet(this, _e2).port;\n }\n get pathname() {\n return __privateGet(this, _e2).pathname;\n }\n get search() {\n return __privateGet(this, _e2).search;\n }\n get hash() {\n return __privateGet(this, _e2).hash;\n }\n}, _i2 = new WeakMap(), _n2 = new WeakMap(), _t2 = new WeakMap(), _e2 = new WeakMap(), _s2 = new WeakMap(), __name(_a4, "me"), _a4);\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'},401:(__unused_webpack_module,exports,__nccwpck_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.EdgeVM=void 0;const load_1=__nccwpck_require__(740);const vm_1=__nccwpck_require__(144);const vm_2=__nccwpck_require__(694);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)}},226:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.VM=n.EdgeVM=void 0;var r=t(401);Object.defineProperty(n,"EdgeVM",{enumerable:true,get:function(){return r.EdgeVM}});var A=t(694);Object.defineProperty(n,"VM",{enumerable:true,get:function(){return A.VM}})},694:(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 a=t(17);const i=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,i.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,a.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}}},445:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.EdgeRuntime=void 0;var r=t(226);Object.defineProperty(n,"EdgeRuntime",{enumerable:true,get:function(){return r.EdgeVM}})},973:(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,a]=A.tee();r=o;return a}}}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},722: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(973);const o=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 s,l;try{const c=(0,a.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=`${(s=(0,o.default)(c()).match(/[a-zA-Z]+|[0-9]+/g))===null||s===void 0?void 0:s.join(" ")}`;const f=`${r.statusCode} ${i.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}},247:(e,n,t)=>{"use strict";Object.defineProperty(n,"__esModule",{value:true});n.runServer=n.createHandler=n.pipeBodyStreamToResponse=n.consumeUint8ArrayReadableStream=void 0;var r=t(973);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(722);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(722);const o=r(t(456));const a=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=a.default.createServer(n);const i=await(0,o.default)(r,e);return{url:String(i),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 a;let i;if(n.colonNotation){a=t.length>0?":":"";i="";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{a="";i=n.verbose?" "+pluralize(r,e):A}t.push(a+o+i)};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__(247);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__(445);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 f852edbe570a2..558d97da1149a 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},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=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(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 d=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:d});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}},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}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 +(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},636: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__(955));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=require.resolve("fibers")}catch(e){}if(e){o.fiber=require(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 d=getPossibleRequests(t,true,c);p=p.concat({resolve:c?i:a,context:_path.default.dirname(e),possibleRequests:d});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}},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")},921: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}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(601);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6bf482dbf9a72..8a5be3587d23b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: 7.14.5 version: 7.14.5(@babel/core@7.18.0) '@edge-runtime/jest-environment': - specifier: 2.2.1 - version: 2.2.1 + specifier: 2.2.5 + version: 2.2.5 '@fullhuman/postcss-purgecss': specifier: 1.3.0 version: 1.3.0 @@ -797,14 +797,14 @@ importers: specifier: 1.1.0 version: 1.1.0 '@edge-runtime/cookies': - specifier: 3.2.1 - version: 3.2.1 + specifier: 3.3.0 + version: 3.3.0 '@edge-runtime/ponyfill': specifier: 2.3.0 version: 2.3.0 '@edge-runtime/primitives': - specifier: 3.0.1 - version: 3.0.1 + specifier: 3.0.4 + version: 3.0.4 '@hapi/accept': specifier: 5.0.2 version: 5.0.2 @@ -1067,8 +1067,8 @@ importers: specifier: 4.19.0 version: 4.19.0 edge-runtime: - specifier: 2.4.4 - version: 2.4.4 + specifier: 2.4.5 + version: 2.4.5 events: specifier: 3.3.0 version: 3.3.0 @@ -1230,7 +1230,7 @@ importers: version: 0.13.4 sass-loader: specifier: 12.4.0 - version: 12.4.0(webpack@5.86.0) + version: 12.4.0(sass@1.54.0)(webpack@5.86.0) schema-utils2: specifier: npm:schema-utils@2.7.1 version: /schema-utils@2.7.1 @@ -5077,8 +5077,8 @@ packages: resolution: {integrity: sha512-smLocSfrt3s53H/XSVP3/1kP42oqvrkjUPtyaFd1F79ux24oE31BKt+q0c6lsa6hOYrFzsIwyc5GXAI5JmfOew==} dev: true - /@edge-runtime/cookies@3.2.1: - resolution: {integrity: sha512-Grbe1sxqbTe5Qj8ttM0fEv5n9x+me4X+R7AoDstVRLxSlrC8ecZv86I8J/9swj3iiQxw1QqMTDXyRh+0d2xrnw==} + /@edge-runtime/cookies@3.3.0: + resolution: {integrity: sha512-3yTL34qahvZfrGdpYwKVvJMRYyBc510pQLSo4kMtkmlRH136S5cy+27vq+Z5h3eNFhANLxitTZ16Oz0XUayWhw==} engines: {node: '>=14'} dev: true @@ -5087,14 +5087,13 @@ packages: engines: {node: '>=14'} dev: true - /@edge-runtime/jest-environment@2.2.1: - resolution: {integrity: sha512-CW/yJfQtxkkIeiRR/XSQgbMBpC3ZXiunxdovTmDx4RNvBdNN0PUmjcnNuYzXJ0QfHstSZbtW2sRv7GgfG4KvAA==} + /@edge-runtime/jest-environment@2.2.5: + resolution: {integrity: sha512-I9JYvOrWhsso/C/OmSxaawEEw7mUpjNVIwNJncBODVhLoFkn6gkHGZVTPR0e4g4yH9yq4gwXnSdC4BS/iwTSqw==} engines: {node: '>=14'} dependencies: - '@edge-runtime/vm': 3.0.1 + '@edge-runtime/vm': 3.0.4 '@jest/environment': 29.5.0 '@jest/fake-timers': 29.5.0 - '@jest/types': 29.5.0 jest-mock: 29.5.0 jest-util: 29.5.0 dev: true @@ -5104,28 +5103,16 @@ packages: engines: {node: '>=14'} dev: true - /@edge-runtime/primitives@3.0.1: - resolution: {integrity: sha512-l5NNDcPkKW4N6qRmB8zzpCF6uRW1S808V/zm72z7b/aWwZUYbmEPPkzyhGAW0aQxLU1pGdZ8u2gNjamdaU6RXw==} + /@edge-runtime/primitives@3.0.4: + resolution: {integrity: sha512-ZisWDavCpjroNbXZ1FZ2qHqlNfTXjIcQx+7aRdC+n6DVsTShUW7S+urGj2Wags5CH0oICWRoksYX5GngW7SZzw==} 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'} - dependencies: - '@edge-runtime/primitives': 3.0.1 - dev: true - - /@edge-runtime/vm@3.0.3: - resolution: {integrity: sha512-SPfI1JeIRNs/4EEE2Oc0X6gG3RqjD1TnKu2lwmwFXq0435xgZGKhc3UiKkYAdoMn2dNFD73nlabMKHBRoMRpxg==} + /@edge-runtime/vm@3.0.4: + resolution: {integrity: sha512-/QvVIn2+nO48dO3cl5tD3cjoF/xJ7WfTKBIs/oKgfmmWbEQ4EixKlOTJEpcBdOni0E8FCHIc7yxoJGq1qcLdCg==} engines: {node: '>=14'} dependencies: - '@edge-runtime/primitives': 3.0.3 + '@edge-runtime/primitives': 3.0.4 dev: true /@emotion/unitless@0.8.1: @@ -6704,8 +6691,8 @@ packages: resolution: {integrity: sha512-XQr74QaLeMiqhStEhLn1im9EOMnkypp7MZOwQhGzqp2Weu5eQJbpPxWxixxlYRKWPOmJjsk6qYfYH9kq43yc2w==} dev: true - /@next/react-refresh-utils@13.4.15(react-refresh@0.12.0)(webpack@5.86.0): - resolution: {integrity: sha512-CRPdown3t4eO5R2r0CkXSwil2hw3FjR7P7HfJYxIAjrDBlAl6lvTrCCdGSOx5X8qwjY2HWPvARaSSMc4LIcX3Q==} + /@next/react-refresh-utils@13.4.16(react-refresh@0.12.0)(webpack@5.86.0): + resolution: {integrity: sha512-kYXo3CMap1+vs6dsnynxu8iIh+o+iE0aSf4kCFH1WZw3u0+QaGJS4s6J8eRLMxo4Dpq/hYmuNB/oMCZmxVHi0Q==} peerDependencies: react-refresh: 0.12.0 webpack: ^4 || ^5 @@ -7437,6 +7424,7 @@ packages: /@sinonjs/fake-timers@10.2.0: resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==} + deprecated: Use version 10.1.0. Version 10.2.0 has potential breaking issues dependencies: '@sinonjs/commons': 3.0.0 dev: true @@ -12408,13 +12396,13 @@ packages: safe-buffer: 5.2.1 dev: true - /edge-runtime@2.4.4: - resolution: {integrity: sha512-uq1YdIxkMDsBYLdSSp/w62PciCL46ic4m1Z/2G6N8RcAPI8p35O8u6hJQT83j28Dnt4U5iyvmwFMYouHMK51uA==} + /edge-runtime@2.4.5: + resolution: {integrity: sha512-SavsXBll1aPBbD1wu1bHVdk2hxbmRhWe0GfeShwjrdKmFu/TUBWo1712Yk68YVhAfsaBSAqtcAF1ei7qLDKzPA==} engines: {node: '>=14'} hasBin: true dependencies: '@edge-runtime/format': 2.1.0 - '@edge-runtime/vm': 3.0.3 + '@edge-runtime/vm': 3.0.4 async-listen: 3.0.0 mri: 1.2.0 picocolors: 1.0.0 @@ -16513,7 +16501,7 @@ packages: '@types/stack-utils': 2.0.1 chalk: 4.0.0 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.4 pretty-format: 29.5.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -23235,7 +23223,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@12.4.0(webpack@5.86.0): + /sass-loader@12.4.0(sass@1.54.0)(webpack@5.86.0): resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -23253,6 +23241,7 @@ packages: dependencies: klona: 2.0.4 neo-async: 2.6.2 + sass: 1.54.0 webpack: 5.86.0(@swc/core@1.3.55) dev: true @@ -26413,7 +26402,7 @@ packages: name: '@vercel/turbopack-ecmascript-runtime' version: 0.0.0 dependencies: - '@next/react-refresh-utils': 13.4.15(react-refresh@0.12.0)(webpack@5.86.0) + '@next/react-refresh-utils': 13.4.16(react-refresh@0.12.0)(webpack@5.86.0) '@types/node': 20.2.5 transitivePeerDependencies: - react-refresh From 594f3d1fc0b917b4438cc72bbe284792a7dedda6 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Wed, 16 Aug 2023 17:10:08 +0200 Subject: [PATCH 06/21] Fix root not-found page tree loader structure (#54080) ### What & Why Previously when rendering the root `/_not-found` in production, we'll always override the parallel routes component children with not-found component, this will break the navigation in build mode from root 404 `/_not-found` path. ### How The new solution is to change the root `/_not-found` rendering strategy. Previously the loader tree of `/_not-found` look like this ```js ['', { children: ['not-found', {}, {}] }, { layout: ..., 'not-found': ...} ] ``` it's not a pretty valid tree, which could lead to problems during rendering. New solution is to change the children to render a page, but the page content is `not-found.js` component. The new tree of root not-found will look like ```js ['', { children: ['__PAGE__', {}, { page: ... // same as root 'not-found' }] }, { layout: ..., 'not-found': ...} ] ``` This change could fix the navigation on the root not-found page. Fixes #52264 --- .../build/webpack/loaders/next-app-loader.ts | 53 ++++++++++++++----- .../next/src/server/app-render/app-render.tsx | 13 +++-- .../app/layout.tsx | 7 --- .../next.config.js | 10 ---- .../app/dynamic/[slug]/page.tsx | 9 ++++ .../app/error.tsx | 0 .../error-boundary-navigation/app/layout.tsx | 38 +++++++++++++ .../app/not-found.tsx | 0 .../app/page.tsx | 0 .../app/result/page.tsx | 0 .../app/trigger-404/page.tsx | 0 .../app/trigger-error/page.tsx | 0 .../index.test.ts} | 28 ++++++++++ .../override-node-env.test.ts} | 2 +- 14 files changed, 123 insertions(+), 37 deletions(-) delete mode 100644 test/e2e/app-dir/error-boundary-and-not-found-linking/app/layout.tsx delete mode 100644 test/e2e/app-dir/error-boundary-and-not-found-linking/next.config.js create mode 100644 test/e2e/app-dir/error-boundary-navigation/app/dynamic/[slug]/page.tsx rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/error.tsx (100%) create mode 100644 test/e2e/app-dir/error-boundary-navigation/app/layout.tsx rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/not-found.tsx (100%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/page.tsx (100%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/result/page.tsx (100%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/trigger-404/page.tsx (100%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking => error-boundary-navigation}/app/trigger-error/page.tsx (100%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking/error-boundary-and-not-found-linking.test.ts => error-boundary-navigation/index.test.ts} (80%) rename test/e2e/app-dir/{error-boundary-and-not-found-linking/error-navigation-override-node-env.test.ts => error-boundary-navigation/override-node-env.test.ts} (77%) diff --git a/packages/next/src/build/webpack/loaders/next-app-loader.ts b/packages/next/src/build/webpack/loaders/next-app-loader.ts index ed09983e5c64b..f31755de2072e 100644 --- a/packages/next/src/build/webpack/loaders/next-app-loader.ts +++ b/packages/next/src/build/webpack/loaders/next-app-loader.ts @@ -149,6 +149,7 @@ const isDirectory = async (pathname: string) => { async function createTreeCodeFromPath( pagePath: string, { + page, resolveDir, resolver, resolveParallelSegments, @@ -156,6 +157,7 @@ async function createTreeCodeFromPath( pageExtensions, basePath, }: { + page: string resolveDir: DirResolver resolver: PathResolver metadataResolver: MetadataResolver @@ -175,6 +177,7 @@ async function createTreeCodeFromPath( const splittedPath = pagePath.split(/[\\/]/) const appDirPrefix = splittedPath[0] const pages: string[] = [] + const isNotFoundRoute = page === '/_not-found' let rootLayout: string | undefined let globalError: string | undefined @@ -282,9 +285,8 @@ async function createTreeCodeFromPath( ) ) - const { treeCode: subtreeCode } = await createSubtreePropsFromSegmentPath( - subSegmentPath - ) + const { treeCode: pageSubtreeCode } = + await createSubtreePropsFromSegmentPath(subSegmentPath) const parallelSegmentPath = subSegmentPath.join('/') @@ -342,19 +344,40 @@ async function createTreeCodeFromPath( ? 'children' : parallelSegmentKey - props[normalizeParallelKey(parallelKey)] = `[ + const normalizedParallelKey = normalizeParallelKey(parallelKey) + let subtreeCode = pageSubtreeCode + // If it's root not found page, set not-found boundary as children page + if (isNotFoundRoute && normalizedParallelKey === 'children') { + const notFoundPath = + definedFilePaths.find(([type]) => type === 'not-found')?.[1] ?? + 'next/dist/client/components/not-found-error' + subtreeCode = `{ + children: ['__PAGE__', {}, { + page: [ + () => import(/* webpackMode: "eager" */ ${JSON.stringify( + notFoundPath + )}), + ${JSON.stringify(notFoundPath)} + ] + }] + }` + } + + const componentsCode = `{ + ${definedFilePaths + .map(([file, filePath]) => { + return `'${file}': [() => import(/* webpackMode: "eager" */ ${JSON.stringify( + filePath + )}), ${JSON.stringify(filePath)}],` + }) + .join('\n')} + ${createMetadataExportsCode(metadata)} + }` + + props[normalizedParallelKey] = `[ '${parallelSegmentKey}', ${subtreeCode}, - { - ${definedFilePaths - .map(([file, filePath]) => { - return `'${file}': [() => import(/* webpackMode: "eager" */ ${JSON.stringify( - filePath - )}), ${JSON.stringify(filePath)}],` - }) - .join('\n')} - ${createMetadataExportsCode(metadata)} - } + ${componentsCode} ]` } @@ -585,6 +608,7 @@ const nextAppLoader: AppLoader = async function nextAppLoader() { } let treeCodeResult = await createTreeCodeFromPath(pagePath, { + page, resolveDir, resolver, metadataResolver, @@ -632,6 +656,7 @@ const nextAppLoader: AppLoader = async function nextAppLoader() { // Clear fs cache, get the new result with the created root layout. filesInDir.clear() treeCodeResult = await createTreeCodeFromPath(pagePath, { + page, resolveDir, resolver, metadataResolver, diff --git a/packages/next/src/server/app-render/app-render.tsx b/packages/next/src/server/app-render/app-render.tsx index 3ff9b1a0746e8..1b75138efd1f4 100644 --- a/packages/next/src/server/app-render/app-render.tsx +++ b/packages/next/src/server/app-render/app-render.tsx @@ -950,9 +950,7 @@ export async function renderToHTMLOrFlight( asNotFound && // In development, it could hit the parallel-route-default not found, so we only need to check the segment. // Or if there's no parallel routes means it reaches the end. - (!parallelRouteMap.length || - // For production build the original pathname is /_not-found, always render not-found component. - (!renderOpts.dev && renderOpts.originalPathname === '/_not-found')) + !parallelRouteMap.length ) { notFoundComponent = { children: ( @@ -1393,8 +1391,13 @@ export async function renderToHTMLOrFlight( initialCanonicalUrl={pathname} initialTree={initialTree} initialHead={ - // Adding requestId as react key to make metadata remount for each render - + <> + {res.statusCode > 400 && ( + + )} + {/* Adding requestId as react key to make metadata remount for each render */} + + } globalErrorComponent={GlobalError} > diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/layout.tsx b/test/e2e/app-dir/error-boundary-and-not-found-linking/app/layout.tsx deleted file mode 100644 index e7077399c03ce..0000000000000 --- a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/layout.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function Root({ children }: { children: React.ReactNode }) { - return ( - - {children} - - ) -} diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/next.config.js b/test/e2e/app-dir/error-boundary-and-not-found-linking/next.config.js deleted file mode 100644 index 3d24f6813557e..0000000000000 --- a/test/e2e/app-dir/error-boundary-and-not-found-linking/next.config.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @type {import('next').NextConfig} - */ -const nextConfig = { - typescript: { - ignoreBuildErrors: true, - }, -} - -module.exports = nextConfig diff --git a/test/e2e/app-dir/error-boundary-navigation/app/dynamic/[slug]/page.tsx b/test/e2e/app-dir/error-boundary-navigation/app/dynamic/[slug]/page.tsx new file mode 100644 index 0000000000000..5b4acc6e75bfb --- /dev/null +++ b/test/e2e/app-dir/error-boundary-navigation/app/dynamic/[slug]/page.tsx @@ -0,0 +1,9 @@ +import { notFound } from 'next/navigation' + +export default function DynamicPage({ params }) { + if (params.slug === '404') { + notFound() + } + + return

Dynamic page: {params.slug}

+} diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/error.tsx b/test/e2e/app-dir/error-boundary-navigation/app/error.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/error.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/error.tsx diff --git a/test/e2e/app-dir/error-boundary-navigation/app/layout.tsx b/test/e2e/app-dir/error-boundary-navigation/app/layout.tsx new file mode 100644 index 0000000000000..2e350ba0e1f0d --- /dev/null +++ b/test/e2e/app-dir/error-boundary-navigation/app/layout.tsx @@ -0,0 +1,38 @@ +import React from 'react' +import Link from 'next/link' + +export default function Root({ children }: { children: React.ReactNode }) { + return ( + + + + {children} + + + ) +} diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/not-found.tsx b/test/e2e/app-dir/error-boundary-navigation/app/not-found.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/not-found.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/not-found.tsx diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/page.tsx b/test/e2e/app-dir/error-boundary-navigation/app/page.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/page.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/page.tsx diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/result/page.tsx b/test/e2e/app-dir/error-boundary-navigation/app/result/page.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/result/page.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/result/page.tsx diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/trigger-404/page.tsx b/test/e2e/app-dir/error-boundary-navigation/app/trigger-404/page.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/trigger-404/page.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/trigger-404/page.tsx diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/app/trigger-error/page.tsx b/test/e2e/app-dir/error-boundary-navigation/app/trigger-error/page.tsx similarity index 100% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/app/trigger-error/page.tsx rename to test/e2e/app-dir/error-boundary-navigation/app/trigger-error/page.tsx diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/error-boundary-and-not-found-linking.test.ts b/test/e2e/app-dir/error-boundary-navigation/index.test.ts similarity index 80% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/error-boundary-and-not-found-linking.test.ts rename to test/e2e/app-dir/error-boundary-navigation/index.test.ts index e2d7edac7ef0a..d03fce9f1caba 100644 --- a/test/e2e/app-dir/error-boundary-and-not-found-linking/error-boundary-and-not-found-linking.test.ts +++ b/test/e2e/app-dir/error-boundary-navigation/index.test.ts @@ -95,6 +95,34 @@ export function runTest({ next }) { expect(await browser.elementByCss('#homepage').text()).toBe('Home') }) + + it('should be able to navigate to other page from root not-found page', async () => { + const browser = await next.browser('/') + + await browser + .elementByCss('#go-to-404') + .click() + .waitForElementByCss('#not-found-component') + + await browser + .elementByCss('#go-to-dynamic') + .click() + .waitForElementByCss('#dynamic') + + expect(await browser.elementByCss('#dynamic').text()).toBe( + 'Dynamic page: foo' + ) + + await browser + .elementByCss('#go-to-dynamic-404') + .click() + .waitForElementByCss('#not-found-component') + + await browser + .elementByCss('#go-to-index') + .click() + .waitForElementByCss('#homepage') + }) } createNextDescribe( diff --git a/test/e2e/app-dir/error-boundary-and-not-found-linking/error-navigation-override-node-env.test.ts b/test/e2e/app-dir/error-boundary-navigation/override-node-env.test.ts similarity index 77% rename from test/e2e/app-dir/error-boundary-and-not-found-linking/error-navigation-override-node-env.test.ts rename to test/e2e/app-dir/error-boundary-navigation/override-node-env.test.ts index b32c67d316aaa..0965b7660f68e 100644 --- a/test/e2e/app-dir/error-boundary-and-not-found-linking/error-navigation-override-node-env.test.ts +++ b/test/e2e/app-dir/error-boundary-navigation/override-node-env.test.ts @@ -1,5 +1,5 @@ import { createNextDescribe } from 'e2e-utils' -import { runTest } from './error-boundary-and-not-found-linking.test' +import { runTest } from './index.test' createNextDescribe( 'app dir - not found navigation - with overridden node env', From 9f3fd5d70ad70ca8b9e80a727b662125d52922bd Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 16 Aug 2023 11:22:08 -0400 Subject: [PATCH 07/21] chore: remove `as any` type cast (#54074) This PR refactors some types to remove `as any`, but the runtime logic is the same. --- packages/next/src/build/index.ts | 18 +++++++++--------- packages/next/src/build/swc/index.ts | 7 ++++--- .../next/src/client/dev/dev-build-watcher.ts | 13 +++++++------ packages/next/src/export/index.ts | 3 +-- packages/next/src/export/worker.ts | 4 ++-- packages/next/src/lib/load-custom-routes.ts | 4 ++-- .../src/lib/metadata/generate/opengraph.tsx | 6 ++++-- .../next/src/server/app-render/rsc/preloads.ts | 3 +-- 8 files changed, 30 insertions(+), 28 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index dd3fca57aa04c..a7b27a78cf6d3 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -3125,15 +3125,15 @@ export default async function build( const images = { ...config.images } const { deviceSizes, imageSizes } = images ;(images as any).sizes = [...deviceSizes, ...imageSizes] - ;(images as any).remotePatterns = ( - config?.images?.remotePatterns || [] - ).map((p: RemotePattern) => ({ - // Should be the same as matchRemotePattern() - protocol: p.protocol, - hostname: makeRe(p.hostname).source, - port: p.port, - pathname: makeRe(p.pathname ?? '**').source, - })) + images.remotePatterns = (config?.images?.remotePatterns || []).map( + (p: RemotePattern) => ({ + // Should be the same as matchRemotePattern() + protocol: p.protocol, + hostname: makeRe(p.hostname).source, + port: p.port, + pathname: makeRe(p.pathname ?? '**').source, + }) + ) await fs.writeFile( path.join(distDir, IMAGES_MANIFEST), diff --git a/packages/next/src/build/swc/index.ts b/packages/next/src/build/swc/index.ts index 8583300348d70..b4c64f853d545 100644 --- a/packages/next/src/build/swc/index.ts +++ b/packages/next/src/build/swc/index.ts @@ -782,7 +782,8 @@ function bindingToApi(binding: any, _wasm: boolean) { const routes = new Map() for (const { pathname, ...nativeRoute } of entrypoints.routes) { let route: Route - switch (nativeRoute.type) { + const routeType = nativeRoute.type + switch (routeType) { case 'page': route = { type: 'page', @@ -815,11 +816,11 @@ function bindingToApi(binding: any, _wasm: boolean) { } break default: + const _exhaustiveCheck: never = routeType invariant( nativeRoute, - () => `Unknown route type: ${(nativeRoute as any).type}` + () => `Unknown route type: ${_exhaustiveCheck}` ) - break } routes.set(pathname, route) } diff --git a/packages/next/src/client/dev/dev-build-watcher.ts b/packages/next/src/client/dev/dev-build-watcher.ts index 0100fa9577b4b..da9a0b238b9cb 100644 --- a/packages/next/src/client/dev/dev-build-watcher.ts +++ b/packages/next/src/client/dev/dev-build-watcher.ts @@ -6,18 +6,19 @@ export default function initializeBuildWatcher( toggleCallback: any, position = 'bottom-right' ) { - const shadowHost = document.createElement('div') + const type = 'div' as string + const shadowHost = document.createElement(type) const [verticalProperty, horizontalProperty] = position.split('-') shadowHost.id = '__next-build-watcher' // Make sure container is fixed and on a high zIndex so it shows shadowHost.style.position = 'fixed' // Ensure container's position to be top or bottom (default) - ;(shadowHost as any).style[verticalProperty] = '10px' + shadowHost.style[verticalProperty as any] = '10px' // Ensure container's position to be left or right (default) - ;(shadowHost as any).style[horizontalProperty] = '20px' - ;(shadowHost as any).style.width = 0 - ;(shadowHost as any).style.height = 0 - ;(shadowHost as any).style.zIndex = 99999 + shadowHost.style[horizontalProperty as any] = '20px' + shadowHost.style.width = '0' + shadowHost.style.height = '0' + shadowHost.style.zIndex = '99999' document.body.appendChild(shadowHost) let shadowRoot diff --git a/packages/next/src/export/index.ts b/packages/next/src/export/index.ts index e5d3cb4a11b81..5f15d3fcf5d12 100644 --- a/packages/next/src/export/index.ts +++ b/packages/next/src/export/index.ts @@ -548,8 +548,7 @@ export default async function exportApp( const filteredPaths = exportPaths.filter( // Remove API routes (route) => - (exportPathMap[route] as any)._isAppDir || - !isAPIRoute(exportPathMap[route].page) + exportPathMap[route]._isAppDir || !isAPIRoute(exportPathMap[route].page) ) if (filteredPaths.length !== exportPaths.length) { diff --git a/packages/next/src/export/worker.ts b/packages/next/src/export/worker.ts index 5fe8e690ff295..e84262b775dd7 100644 --- a/packages/next/src/export/worker.ts +++ b/packages/next/src/export/worker.ts @@ -163,8 +163,8 @@ export default async function exportPage({ const { query: originalQuery = {} } = pathMap const { page } = pathMap const pathname = normalizeAppPath(page) - const isAppDir = (pathMap as any)._isAppDir - const isDynamicError = (pathMap as any)._isDynamicError + const isAppDir = Boolean(pathMap._isAppDir) + const isDynamicError = pathMap._isDynamicError const filePath = normalizePagePath(path) const isDynamic = isDynamicRoute(page) const ampPath = `${filePath}.amp` diff --git a/packages/next/src/lib/load-custom-routes.ts b/packages/next/src/lib/load-custom-routes.ts index 8ccd1f9a41fca..45e07d4afc31c 100644 --- a/packages/next/src/lib/load-custom-routes.ts +++ b/packages/next/src/lib/load-custom-routes.ts @@ -569,7 +569,7 @@ async function loadRedirects(config: NextConfig) { // save original redirects before transforms if (Array.isArray(redirects)) { - ;(config as any)._originalRedirects = redirects.map((r) => ({ ...r })) + config._originalRedirects = redirects.map((r) => ({ ...r })) } redirects = processRoutes(redirects, config, 'redirect') checkCustomRoutes(redirects, 'redirect') @@ -610,7 +610,7 @@ async function loadRewrites(config: NextConfig) { checkCustomRoutes(fallback, 'rewrite') // save original rewrites before transforms - ;(config as any)._originalRewrites = { + config._originalRewrites = { beforeFiles: beforeFiles.map((r) => ({ ...r })), afterFiles: afterFiles.map((r) => ({ ...r })), fallback: fallback.map((r) => ({ ...r })), diff --git a/packages/next/src/lib/metadata/generate/opengraph.tsx b/packages/next/src/lib/metadata/generate/opengraph.tsx index 2a081bf2dd447..41c276a69f9bf 100644 --- a/packages/next/src/lib/metadata/generate/opengraph.tsx +++ b/packages/next/src/lib/metadata/generate/opengraph.tsx @@ -14,7 +14,8 @@ export function OpenGraphMetadata({ let typedOpenGraph if ('type' in openGraph) { - switch (openGraph.type) { + const openGraphType = openGraph.type + switch (openGraphType) { case 'website': typedOpenGraph = [Meta({ property: 'og:type', content: 'website' })] break @@ -185,7 +186,8 @@ export function OpenGraphMetadata({ break default: - throw new Error('Invalid OpenGraph type: ' + (openGraph as any).type) + const _exhaustiveCheck: never = openGraphType + throw new Error(`Invalid OpenGraph type: ${_exhaustiveCheck}`) } } diff --git a/packages/next/src/server/app-render/rsc/preloads.ts b/packages/next/src/server/app-render/rsc/preloads.ts index 85ff5abbc33bd..6aae78ac668a4 100644 --- a/packages/next/src/server/app-render/rsc/preloads.ts +++ b/packages/next/src/server/app-render/rsc/preloads.ts @@ -6,9 +6,8 @@ Files in the rsc directory are meant to be packaged as part of the RSC graph usi import ReactDOM from 'react-dom' -const stylePreloadOptions = { as: 'style' } export function preloadStyle(href: string) { - ;(ReactDOM as any).preload(href, stylePreloadOptions) + ReactDOM.preload(href, { as: 'style' }) } export function preloadFont(href: string, type: string) { From f944e984bd0d614be6b87ac870f961ede3d7cdec Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 16 Aug 2023 11:30:30 -0400 Subject: [PATCH 08/21] chore: refactor to use `fs.promises.rm()` (#54076) Since Next.js already requires [`node@16.8.0`](https://github.com/vercel/next.js/blob/88b8d15f41f894011cf33af0b1f4a3fb24aed46b/packages/next/package.json#L319) or newer, we can drop old techniques for removing a directory recursively and instead rely on the native [`fs.promises.rm()`](https://nodejs.org/api/fs.html#fspromisesrmpath-options) function (available since `node@14.14.0`). x-ref: https://github.com/vercel/next.js/pull/34210 --- packages/next/src/build/index.ts | 3 +-- packages/next/src/build/utils.ts | 3 +-- packages/next/src/export/index.ts | 3 +-- packages/next/src/lib/verify-partytown-setup.ts | 4 +--- packages/next/src/server/image-optimizer.ts | 11 ++--------- 5 files changed, 6 insertions(+), 18 deletions(-) diff --git a/packages/next/src/build/index.ts b/packages/next/src/build/index.ts index a7b27a78cf6d3..b7f62f93d4f91 100644 --- a/packages/next/src/build/index.ts +++ b/packages/next/src/build/index.ts @@ -2989,8 +2989,7 @@ export default async function build( } // remove temporary export folder - await recursiveDelete(exportOptions.outdir) - await fs.rmdir(exportOptions.outdir) + await fs.rm(exportOptions.outdir, { recursive: true, force: true }) await fs.writeFile( manifestPath, JSON.stringify(pagesManifest, null, 2), diff --git a/packages/next/src/build/utils.ts b/packages/next/src/build/utils.ts index b0c62248223b8..9cde31aec24f1 100644 --- a/packages/next/src/build/utils.ts +++ b/packages/next/src/build/utils.ts @@ -53,7 +53,6 @@ import { } from '../server/load-components' import { trace } from '../trace' import { setHttpClientAndAgentOptions } from '../server/setup-http-agent-env' -import { recursiveDelete } from '../lib/recursive-delete' import { Sema } from 'next/dist/compiled/async-sema' import { denormalizePagePath } from '../shared/lib/page-path/denormalize-page-path' import { normalizePagePath } from '../shared/lib/page-path/normalize-page-path' @@ -1809,7 +1808,7 @@ export async function copyTracedFiles( moduleType = packageJson.type === 'module' } catch {} const copiedFiles = new Set() - await recursiveDelete(outputPath) + await fs.rm(outputPath, { recursive: true, force: true }) async function handleTraceFiles(traceFilePath: string) { const traceData = JSON.parse(await fs.readFile(traceFilePath, 'utf8')) as { diff --git a/packages/next/src/export/index.ts b/packages/next/src/export/index.ts index 5f15d3fcf5d12..209855a8a033a 100644 --- a/packages/next/src/export/index.ts +++ b/packages/next/src/export/index.ts @@ -17,7 +17,6 @@ import * as Log from '../build/output/log' import createSpinner from '../build/spinner' import { SSG_FALLBACK_EXPORT_ERROR } from '../lib/constants' import { recursiveCopy } from '../lib/recursive-copy' -import { recursiveDelete } from '../lib/recursive-delete' import { BUILD_ID_FILE, CLIENT_PUBLIC_FILES_PATH, @@ -354,7 +353,7 @@ export default async function exportApp( ) } - await recursiveDelete(join(outDir)) + await promises.rm(outDir, { recursive: true, force: true }) await promises.mkdir(join(outDir, '_next', buildId), { recursive: true }) writeFileSync( diff --git a/packages/next/src/lib/verify-partytown-setup.ts b/packages/next/src/lib/verify-partytown-setup.ts index 5f4caf378e7db..69ee2132efbaf 100644 --- a/packages/next/src/lib/verify-partytown-setup.ts +++ b/packages/next/src/lib/verify-partytown-setup.ts @@ -8,7 +8,6 @@ import { } from './has-necessary-dependencies' import { fileExists, FileType } from './file-exists' import { FatalError } from './fatal-error' -import { recursiveDelete } from './recursive-delete' import * as Log from '../build/output/log' import { getPkgManager } from './helpers/get-pkg-manager' @@ -50,8 +49,7 @@ async function copyPartytownStaticFiles( ) if (hasPartytownLibDir) { - await recursiveDelete(partytownLibDir) - await promises.rmdir(partytownLibDir) + await promises.rm(partytownLibDir, { recursive: true, force: true }) } const { copyLibFiles } = await Promise.resolve( diff --git a/packages/next/src/server/image-optimizer.ts b/packages/next/src/server/image-optimizer.ts index 00dee16194d99..a7e9928de4a0e 100644 --- a/packages/next/src/server/image-optimizer.ts +++ b/packages/next/src/server/image-optimizer.ts @@ -99,15 +99,8 @@ async function writeToCacheDir( ) { const filename = join(dir, `${maxAge}.${expireAt}.${etag}.${extension}`) - // Added in: v14.14.0 https://nodejs.org/api/fs.html#fspromisesrmpath-options - // attempt cleaning up existing stale cache - if ((promises as any).rm) { - await (promises as any) - .rm(dir, { force: true, recursive: true }) - .catch(() => {}) - } else { - await promises.rmdir(dir, { recursive: true }).catch(() => {}) - } + await promises.rm(dir, { recursive: true, force: true }).catch(() => {}) + await promises.mkdir(dir, { recursive: true }) await promises.writeFile(filename, buffer) } From 662dcedd217967d0585795c2b57974e6b4318fd8 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Wed, 16 Aug 2023 10:09:06 -0700 Subject: [PATCH 09/21] install-native.mjs: include `packageManager` field (#54132) This ensures that corepack uses the correct package manager and version for the tmpdir install as it does for the rest of the repo. It reads the value from the root `package.json`. Closes WEB-1401 --- scripts/install-native.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install-native.mjs b/scripts/install-native.mjs index 52f247349678b..70e46c3e4aba2 100644 --- a/scripts/install-native.mjs +++ b/scripts/install-native.mjs @@ -13,6 +13,7 @@ import fs from 'fs-extra' const { version: nextVersion } = await fs.readJSON( path.join(cwd, 'packages', 'next', 'package.json') ) + const { packageManager } = await fs.readJSON(path.join(cwd, 'package.json')) try { // if installed swc package version matches monorepo version @@ -51,6 +52,7 @@ import fs from 'fs-extra' '@next/swc-win32-ia32-msvc': 'canary', '@next/swc-win32-x64-msvc': 'canary', }, + packageManager, } await fs.writeFile( path.join(tmpdir, 'package.json'), From 73217b5696cb5fbae2defe110a53719a43a6fd64 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Wed, 16 Aug 2023 19:22:41 +0200 Subject: [PATCH 10/21] Refactor layout router creation in app-render (#54126) Merge the rendering of `` component into one place, with different props in different branches. --- .../next/src/server/app-render/app-render.tsx | 89 +++++++------------ 1 file changed, 34 insertions(+), 55 deletions(-) diff --git a/packages/next/src/server/app-render/app-render.tsx b/packages/next/src/server/app-render/app-render.tsx index 1b75138efd1f4..289f7eef0777f 100644 --- a/packages/next/src/server/app-render/app-render.tsx +++ b/packages/next/src/server/app-render/app-render.tsx @@ -825,24 +825,10 @@ export async function renderToHTMLOrFlight( const notFoundComponent = NotFound && isChildrenRouteKey ? : undefined - // if we're prefetching and that there's a Loading component, we bail out - // otherwise we keep rendering for the prefetch. - // We also want to bail out if there's no Loading component in the tree. - if ( - isPrefetch && - (Loading || !hasLoadingComponentInTree(parallelRoute)) - ) { - const childProp: ChildProp = { - // Null indicates the tree is not fully rendered - current: null, - segment: addSearchParamsIfPageSegment( - childSegmentParam - ? childSegmentParam.treeSegment - : childSegment, - query - ), - } - + function getParallelRoutePair( + currentChildProp: ChildProp, + currentStyles: React.ReactNode + ): [string, React.ReactNode] { // This is turned back into an object below. return [ parallelRouteKey, @@ -851,6 +837,7 @@ export async function renderToHTMLOrFlight( segmentPath={createSegmentPath(currentSegmentPath)} loading={Loading ? : undefined} loadingStyles={loadingStyles} + // TODO-APP: Add test for loading returning `undefined`. This currently can't be tested as the `webdriver()` tab will wait for the full page to load before returning. hasLoading={Boolean(Loading)} error={ErrorComponent} errorStyles={errorStyles} @@ -862,14 +849,32 @@ export async function renderToHTMLOrFlight( templateStyles={templateStyles} notFound={notFoundComponent} notFoundStyles={notFoundStyles} - childProp={childProp} + childProp={currentChildProp} + styles={currentStyles} />, ] } - // Create the child component - const { Component: ChildComponent, styles: childStyles } = - await createComponentTree({ + // if we're prefetching and that there's a Loading component, we bail out + // otherwise we keep rendering for the prefetch. + // We also want to bail out if there's no Loading component in the tree. + let currentStyles = undefined + let childElement = null + const childPropSegment = addSearchParamsIfPageSegment( + childSegmentParam ? childSegmentParam.treeSegment : childSegment, + query + ) + if ( + !( + isPrefetch && + (Loading || !hasLoadingComponentInTree(parallelRoute)) + ) + ) { + // Create the child component + const { + Component: ChildComponent, + styles: childComponentStyles, + } = await createComponentTree({ createSegmentPath: (child) => { return createSegmentPath([...currentSegmentPath, ...child]) }, @@ -883,42 +888,16 @@ export async function renderToHTMLOrFlight( metadataOutlet, }) + currentStyles = childComponentStyles + childElement = + } + const childProp: ChildProp = { - current: , - segment: addSearchParamsIfPageSegment( - childSegmentParam - ? childSegmentParam.treeSegment - : childSegment, - query - ), + current: childElement, + segment: childPropSegment, } - const segmentPath = createSegmentPath(currentSegmentPath) - - // This is turned back into an object below. - return [ - parallelRouteKey, - : undefined} - loadingStyles={loadingStyles} - // TODO-APP: Add test for loading returning `undefined`. This currently can't be tested as the `webdriver()` tab will wait for the full page to load before returning. - hasLoading={Boolean(Loading)} - template={ - - } - templateStyles={templateStyles} - notFound={notFoundComponent} - notFoundStyles={notFoundStyles} - childProp={childProp} - styles={childStyles} - />, - ] + return getParallelRoutePair(childProp, currentStyles) } ) ) From 86d2ead1fe612432f7aee73f295a3753bd421ebe Mon Sep 17 00:00:00 2001 From: Steven Date: Wed, 16 Aug 2023 13:35:02 -0400 Subject: [PATCH 11/21] chore(image): remove apple silicon workaround for versions older than `node@16.5.0` (#54125) Since Next.js already requires [`node@16.8.0`](https://github.com/vercel/next.js/blob/88b8d15f41f894011cf33af0b1f4a3fb24aed46b/packages/next/package.json#L319) or newer, we can drop this workaround for squoosh/wasm on apple silicon. - x-ref: https://github.com/vercel/next.js/pull/27031 --- packages/next/src/server/lib/squoosh/impl.ts | 31 -------------------- 1 file changed, 31 deletions(-) diff --git a/packages/next/src/server/lib/squoosh/impl.ts b/packages/next/src/server/lib/squoosh/impl.ts index 182664e7e35d4..776f05c73c3c4 100644 --- a/packages/next/src/server/lib/squoosh/impl.ts +++ b/packages/next/src/server/lib/squoosh/impl.ts @@ -1,34 +1,8 @@ -import semver from 'next/dist/compiled/semver' import { codecs as supportedFormats, preprocessors } from './codecs' import ImageData from './image_data' type EncoderKey = keyof typeof supportedFormats -// Fixed in Node.js 16.5.0 and newer. -// See https://github.com/nodejs/node/pull/39337 -// Eventually, remove this delay when engines is updated. -// See https://github.com/vercel/next.js/blob/1bcc923439f495a1717421e06af7e64c6003072c/packages/next/package.json#L249-L251 -const FIXED_VERSION = '16.5.0' -const DELAY_MS = 1000 -let _promise: Promise | undefined - -function delayOnce(ms: number): Promise { - if (!_promise) { - _promise = new Promise((resolve) => { - setTimeout(resolve, ms) - }) - } - return _promise -} - -function maybeDelay(): Promise { - const isAppleM1 = process.arch === 'arm64' && process.platform === 'darwin' - if (isAppleM1 && semver.lt(process.version, FIXED_VERSION)) { - return delayOnce(DELAY_MS) - } - return Promise.resolve() -} - export async function decodeBuffer( _buffer: Buffer | Uint8Array ): Promise { @@ -70,7 +44,6 @@ export async function resize({ image, width, height }: ResizeOpts) { const p = preprocessors['resize'] const m = await p.instantiate() - await maybeDelay() return await m(image.data, image.width, image.height, { ...p.defaultOptions, width, @@ -86,7 +59,6 @@ export async function encodeJpeg( const e = supportedFormats['mozjpeg'] const m = await e.enc() - await maybeDelay() const r = await m.encode(image.data, image.width, image.height, { ...e.defaultEncoderOptions, quality, @@ -102,7 +74,6 @@ export async function encodeWebp( const e = supportedFormats['webp'] const m = await e.enc() - await maybeDelay() const r = await m.encode(image.data, image.width, image.height, { ...e.defaultEncoderOptions, quality, @@ -118,7 +89,6 @@ export async function encodeAvif( const e = supportedFormats['avif'] const m = await e.enc() - await maybeDelay() const val = e.autoOptimize.min || 62 const r = await m.encode(image.data, image.width, image.height, { ...e.defaultEncoderOptions, @@ -136,7 +106,6 @@ export async function encodePng( const e = supportedFormats['oxipng'] const m = await e.enc() - await maybeDelay() const r = await m.encode(image.data, image.width, image.height, { ...e.defaultEncoderOptions, }) From 0b3e366f3212dcf7d35ed86da60a8422e1a4836a Mon Sep 17 00:00:00 2001 From: Zack Tanner Date: Wed, 16 Aug 2023 10:55:06 -0700 Subject: [PATCH 12/21] fix routing bug when bfcache is hit following an mpa navigation (#54081) When an mpa navigation takes place, we currently push the user to the new route and suspend the page indefinitely (x-ref: #49058). When navigating back, if the browser opts into using the [bfcache](https://web.dev/bfcache/), it will remain suspended and `pushRef.mpaNavigation` will be true. This means that anything that would cause the component to re-render will trigger the mpa navigation again (such as hovering over another `Link`, as reported in #53347) This PR checks to see if bfcache is being used by observing `PageTransitionEvent.persisted` and if so, resets the router state to clear out `pushRef`. Closes NEXT-1511 Fixes #53347 --- .../next/src/client/components/app-router.tsx | 22 ++++++++ test/lib/browsers/base.ts | 3 +- test/lib/browsers/playwright.ts | 9 +++- test/lib/browsers/selenium.ts | 10 ++-- test/lib/next-webdriver.ts | 10 +++- test/production/export-routing/app/layout.js | 8 +++ test/production/export-routing/app/page.js | 16 ++++++ test/production/export-routing/index.test.ts | 54 +++++++++++++++++++ test/production/export-routing/next.config.js | 6 +++ 9 files changed, 131 insertions(+), 7 deletions(-) create mode 100644 test/production/export-routing/app/layout.js create mode 100644 test/production/export-routing/app/page.js create mode 100644 test/production/export-routing/index.test.ts create mode 100644 test/production/export-routing/next.config.js diff --git a/packages/next/src/client/components/app-router.tsx b/packages/next/src/client/components/app-router.tsx index 21ba64f0192b4..9635e58fa0552 100644 --- a/packages/next/src/client/components/app-router.tsx +++ b/packages/next/src/client/components/app-router.tsx @@ -367,6 +367,28 @@ function Router({ }, [appRouter, cache, prefetchCache, tree]) } + useEffect(() => { + // If the app is restored from bfcache, it's possible that + // pushRef.mpaNavigation is true, which would mean that any re-render of this component + // would trigger the mpa navigation logic again from the lines below. + // This will restore the router to the initial state in the event that the app is restored from bfcache. + function handlePageShow(event: PageTransitionEvent) { + if (!event.persisted) return + + dispatch({ + type: ACTION_RESTORE, + url: new URL(window.location.href), + tree: window.history.state, + }) + } + + window.addEventListener('pageshow', handlePageShow) + + return () => { + window.removeEventListener('pageshow', handlePageShow) + } + }, [dispatch, initialTree]) + // When mpaNavigation flag is set do a hard navigation to the new url. // Infinitely suspend because we don't actually want to rerender any child // components with the new URL and any entangled state updates shouldn't diff --git a/test/lib/browsers/base.ts b/test/lib/browsers/base.ts index 24210848f83c1..3ac693da9e86a 100644 --- a/test/lib/browsers/base.ts +++ b/test/lib/browsers/base.ts @@ -53,7 +53,8 @@ export abstract class BrowserInterface implements PromiseLike { async setup( browserName: string, locale: string, - javaScriptEnabled: boolean + javaScriptEnabled: boolean, + headless: boolean ): Promise {} async close(): Promise {} async quit(): Promise {} diff --git a/test/lib/browsers/playwright.ts b/test/lib/browsers/playwright.ts index 6272cae368180..024b54afa3b50 100644 --- a/test/lib/browsers/playwright.ts +++ b/test/lib/browsers/playwright.ts @@ -53,8 +53,12 @@ export class Playwright extends BrowserInterface { this.eventCallbacks[event]?.delete(cb) } - async setup(browserName: string, locale: string, javaScriptEnabled: boolean) { - const headless = !!process.env.HEADLESS + async setup( + browserName: string, + locale: string, + javaScriptEnabled: boolean, + headless: boolean + ) { let device if (process.env.DEVICE_NAME) { @@ -106,6 +110,7 @@ export class Playwright extends BrowserInterface { return await chromium.launch({ devtools: !launchOptions.headless, ...launchOptions, + ignoreDefaultArgs: ['--disable-back-forward-cache'], }) } } diff --git a/test/lib/browsers/selenium.ts b/test/lib/browsers/selenium.ts index 75531c408e59b..22916c6e73d4e 100644 --- a/test/lib/browsers/selenium.ts +++ b/test/lib/browsers/selenium.ts @@ -12,7 +12,6 @@ const { BROWSERSTACK, BROWSERSTACK_USERNAME, BROWSERSTACK_ACCESS_KEY, - HEADLESS, CHROME_BIN, LEGACY_SAFARI, SKIP_LOCAL_SELENIUM_SERVER, @@ -46,7 +45,12 @@ export class Selenium extends BrowserInterface { private browserName: string // TODO: support setting locale - async setup(browserName: string, locale: string, javaScriptEnabled: boolean) { + async setup( + browserName: string, + locale: string, + javaScriptEnabled: boolean, + headless: boolean + ) { if (browser) return this.browserName = browserName @@ -155,7 +159,7 @@ export class Selenium extends BrowserInterface { let firefoxOptions = new FireFoxOptions() let safariOptions = new SafariOptions() - if (HEADLESS) { + if (headless) { const screenSize = { width: 1280, height: 720 } chromeOptions = chromeOptions.headless().windowSize(screenSize) as any firefoxOptions = firefoxOptions.headless().windowSize(screenSize) diff --git a/test/lib/next-webdriver.ts b/test/lib/next-webdriver.ts index 6039c6517f078..501fe518d292b 100644 --- a/test/lib/next-webdriver.ts +++ b/test/lib/next-webdriver.ts @@ -65,6 +65,7 @@ export default async function webdriver( beforePageLoad?: (page: any) => void locale?: string disableJavaScript?: boolean + headless?: boolean } ): Promise { let CurrentInterface: new () => BrowserInterface @@ -82,6 +83,7 @@ export default async function webdriver( beforePageLoad, locale, disableJavaScript, + headless, } = options // we import only the needed interface @@ -101,7 +103,13 @@ export default async function webdriver( const browser = new CurrentInterface() const browserName = process.env.BROWSER_NAME || 'chrome' - await browser.setup(browserName, locale, !disableJavaScript) + await browser.setup( + browserName, + locale, + !disableJavaScript, + // allow headless to be overwritten for a particular test + typeof headless !== 'undefined' ? headless : !!process.env.HEADLESS + ) ;(global as any).browserName = browserName const fullUrl = getFullUrl( diff --git a/test/production/export-routing/app/layout.js b/test/production/export-routing/app/layout.js new file mode 100644 index 0000000000000..762515029332e --- /dev/null +++ b/test/production/export-routing/app/layout.js @@ -0,0 +1,8 @@ +export default function Layout({ children }) { + return ( + + + {children} + + ) +} diff --git a/test/production/export-routing/app/page.js b/test/production/export-routing/app/page.js new file mode 100644 index 0000000000000..8998e00c040cd --- /dev/null +++ b/test/production/export-routing/app/page.js @@ -0,0 +1,16 @@ +'use client' +import React from 'react' +import Link from 'next/link' + +export default function Page() { + const [counter, setCounter] = React.useState(0) + return ( +
+ +
{counter}
+ External Page +
+ ) +} diff --git a/test/production/export-routing/index.test.ts b/test/production/export-routing/index.test.ts new file mode 100644 index 0000000000000..62ca0b49b8a8d --- /dev/null +++ b/test/production/export-routing/index.test.ts @@ -0,0 +1,54 @@ +import { Server } from 'http' +import { + findPort, + nextBuild, + startStaticServer, + stopApp, +} from 'next-test-utils' +import webdriver from 'next-webdriver' +import { join } from 'path' + +describe('export-routing', () => { + let port: number + let app: Server + + beforeAll(async () => { + const appDir = __dirname + const exportDir = join(appDir, 'out') + + await nextBuild(appDir, undefined, { cwd: appDir }) + port = await findPort() + app = await startStaticServer(exportDir, undefined, port) + }) + + afterAll(() => { + stopApp(app) + }) + + it('should not suspend indefinitely when page is restored from bfcache after an mpa navigation', async () => { + // bfcache is not currently supported by CDP, so we need to run this particular test in headed mode + // https://bugs.chromium.org/p/chromium/issues/detail?id=1317959 + if (!process.env.CI && process.env.HEADLESS) { + console.warn('This test can only run in headed mode. Skipping...') + return + } + + const browser = await webdriver(port, '/index.html', { headless: false }) + + await browser.elementByCss('a[href="https://example.vercel.sh"]').click() + await browser.waitForCondition( + 'window.location.origin === "https://example.vercel.sh"' + ) + + // this will never resolve in the failure case, as the page will be suspended indefinitely + await browser.back() + + expect(await browser.elementByCss('#counter').text()).toBe('0') + + // click the button + await browser.elementByCss('button').click() + + // counter should be 1 + expect(await browser.elementByCss('#counter').text()).toBe('1') + }) +}) diff --git a/test/production/export-routing/next.config.js b/test/production/export-routing/next.config.js new file mode 100644 index 0000000000000..ac7197dbfbe61 --- /dev/null +++ b/test/production/export-routing/next.config.js @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + output: 'export', +} + +module.exports = nextConfig From 96dd8ff4a505d7ea477c5283a6f7f7ea9be83aad Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Wed, 16 Aug 2023 11:36:52 -0700 Subject: [PATCH 13/21] Tracing: add opt-in flag to send a subset of development traces to url (#53880) This adds an **opt-in** feature to send a subset of trace spans and metadata to a remote http server. The url must be provided as an option like so: `next dev --experimental-upload-trace=http://localhost:3000/traces` These traces are derived from the tracing data stored at `.next/trace`. The request payload looks like this: ```json { "metadata": { "commit": "69b0a3366734182f4efce6c0089c2592044d7124", "mode": "dev", "pkgName": "nextjs-project", "arch": "arm64", "cpus": 10, "platform": "darwin" }, "traces": [ [ { "traceId": "2f041a20b06027ab", "name": "hot-reloader", "id": 1, "timestamp": 28712742599, "duration": 21, "tags": { "version": "13.4.14-canary.1" }, "startTime": 1691707223226 }, { "traceId": "2f041a20b06027ab", "parentId": 1, "name": "webpack-invalidated-server", "id": 63, "timestamp": 28713776446, "duration": 244628, "tags": { "trigger": "manual" }, "startTime": 1691707224260 }, { "traceId": "2f041a20b06027ab", "parentId": 1, "name": "webpack-invalidated-server", "id": 111, "timestamp": 28714080210, "duration": 115267, "tags": { "trigger": "manual" }, "startTime": 1691707224563 }, { "traceId": "2f041a20b06027ab", "parentId": 1, "name": "webpack-invalidated-server", "id": 168, "timestamp": 28715243617, "duration": 69471, "tags": { "trigger": "[project]/pages/index.tsx" }, "startTime": 1691707225727 }, { "traceId": "2f041a20b06027ab", "parentId": 1, "name": "client-hmr-latency", "id": 222, "timestamp": 1691707225727000, "duration": 72000, "tags": { "clientId": 1691707224946 }, "startTime": 1691707225799 }, { "traceId": "2f041a20b06027ab", "parentId": 1, "name": "webpack-invalidated-server", "id": 223, "timestamp": 28716999898, "duration": 47425, "tags": { "trigger": "[project]/pages/index.tsx" }, "startTime": 1691707227483 } ] ] } ``` Currently only events of type `client-hmr-latency`, `hot-reloader`, `webpack-invalid-client`, `webpack-invalidated-server` are included, as well as all root spans. Traces are expected to include the ancestry of any given span through the `parentId` property. --- packages/next/src/cli/next-dev.ts | 18 +++ packages/next/src/trace/trace-uploader.ts | 132 ++++++++++++++++++++++ packages/next/src/trace/upload-trace.ts | 48 ++++++++ 3 files changed, 198 insertions(+) create mode 100644 packages/next/src/trace/trace-uploader.ts create mode 100644 packages/next/src/trace/upload-trace.ts diff --git a/packages/next/src/cli/next-dev.ts b/packages/next/src/cli/next-dev.ts index a103669429053..36c1b826d6f18 100644 --- a/packages/next/src/cli/next-dev.ts +++ b/packages/next/src/cli/next-dev.ts @@ -25,10 +25,12 @@ import { getValidatedArgs } from '../lib/get-validated-args' import { Worker } from 'next/dist/compiled/jest-worker' import type { ChildProcess } from 'child_process' import { checkIsNodeDebugging } from '../server/lib/is-node-debugging' +import uploadTrace from '../trace/upload-trace' let dir: string let config: NextConfigComplete let isTurboSession = false +let traceUploadUrl: string let sessionStopHandled = false let sessionStarted = Date.now() @@ -86,6 +88,16 @@ const handleSessionStop = async () => { // noise to the output } + if (traceUploadUrl) { + uploadTrace({ + traceUploadUrl, + mode: 'dev', + isTurboSession, + projectDir: dir, + distDir: config.distDir, + }) + } + // ensure we re-enable the terminal cursor before exiting // the program, or the cursor could remain hidden process.stdout.write('\x1B[?25h') @@ -190,6 +202,7 @@ const nextDev: CliCommand = async (argv) => { '--turbo': Boolean, '--experimental-turbo': Boolean, '--experimental-test-proxy': Boolean, + '--experimental-upload-trace': String, // To align current messages with native binary. // Will need to adjust subcommand later. @@ -217,6 +230,7 @@ const nextDev: CliCommand = async (argv) => { Options --port, -p A port number on which to start the application --hostname, -H Hostname on which to start the application (default: 0.0.0.0) + --experimental-upload-trace= [EXPERIMENTAL] Report a subset of the debugging trace to a remote http url. Includes sensitive data. Disabled by default and url must be provided. --help, -h Displays this message `) process.exit(0) @@ -277,6 +291,10 @@ const nextDev: CliCommand = async (argv) => { config = await loadConfig(PHASE_DEVELOPMENT_SERVER, dir) const isExperimentalTestProxy = args['--experimental-test-proxy'] + if (args['--experimental-upload-trace']) { + traceUploadUrl = args['--experimental-upload-trace'] + } + const devServerOptions: StartServerOptions = { dir, port, diff --git a/packages/next/src/trace/trace-uploader.ts b/packages/next/src/trace/trace-uploader.ts new file mode 100644 index 0000000000000..8634ca4196539 --- /dev/null +++ b/packages/next/src/trace/trace-uploader.ts @@ -0,0 +1,132 @@ +import findUp from 'next/dist/compiled/find-up' +import fsPromise from 'fs/promises' +import child_process from 'child_process' +import assert from 'assert' +// @ts-ignore +import fetch from 'next/dist/compiled/node-fetch' +import os from 'os' +import { createInterface } from 'readline' +import { createReadStream } from 'fs' +import path from 'path' + +const EVENT_FILTER = new Set([ + 'client-hmr-latency', + 'hot-reloader', + 'webpack-invalid-client', + 'webpack-invalidated-server', +]) + +const { NEXT_TRACE_UPLOAD_DEBUG } = process.env + +const [, , traceUploadUrl, mode, _isTurboSession, projectDir, distDir] = + process.argv +const isTurboSession = _isTurboSession === 'true' + +type TraceRequestBody = { + metadata: TraceMetadata + traces: TraceEvent[][] +} + +interface TraceEvent { + traceId: string + parentId?: number + name: string + id: number + startTime: number + timestamp: number + duration: number + tags: Record +} + +interface TraceMetadata { + arch: string + commit: string + cpus: number + mode: string + pkgName: string + platform: string + isTurboSession: boolean +} + +;(async function upload() { + const projectPkgJsonPath = await findUp('package.json') + assert(projectPkgJsonPath) + + const projectPkgJson = JSON.parse( + await fsPromise.readFile(projectPkgJsonPath, 'utf-8') + ) + const pkgName = projectPkgJson.name + + const commit = child_process + .spawnSync( + os.platform() === 'win32' ? 'git.cmd' : 'git', + ['rev-parse', 'HEAD'], + { shell: true } + ) + .stdout.toString() + .trimEnd() + + const readLineInterface = createInterface({ + input: createReadStream(path.join(projectDir, distDir, 'trace')), + crlfDelay: Infinity, + }) + + const traces = new Map() + for await (const line of readLineInterface) { + const lineEvents: TraceEvent[] = JSON.parse(line) + for (const event of lineEvents) { + if ( + // Always include root spans + event.parentId === undefined || + EVENT_FILTER.has(event.name) + ) { + if ( + typeof event.tags.trigger === 'string' && + path.isAbsolute(event.tags.trigger) + ) { + event.tags.trigger = + '[project]/' + + path + .relative(projectDir, event.tags.trigger) + .replaceAll(path.sep, '/') + } + + let trace = traces.get(event.traceId) + if (trace === undefined) { + trace = [] + traces.set(event.traceId, trace) + } + trace.push(event) + } + } + } + + const body: TraceRequestBody = { + metadata: { + commit, + mode, + pkgName, + isTurboSession, + arch: os.arch(), + cpus: os.cpus().length, + platform: os.platform(), + }, + traces: [...traces.values()], + } + + if (NEXT_TRACE_UPLOAD_DEBUG) { + console.log('Sending request with body', JSON.stringify(body, null, 2)) + } + + let res = await fetch(traceUploadUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(body), + }) + + if (NEXT_TRACE_UPLOAD_DEBUG) { + console.log('Received response', res.status, await res.json()) + } +})() diff --git a/packages/next/src/trace/upload-trace.ts b/packages/next/src/trace/upload-trace.ts new file mode 100644 index 0000000000000..a5704e32601d8 --- /dev/null +++ b/packages/next/src/trace/upload-trace.ts @@ -0,0 +1,48 @@ +export default function uploadTrace({ + traceUploadUrl, + mode, + isTurboSession, + projectDir, + distDir, +}: { + traceUploadUrl: string + mode: 'dev' + isTurboSession: boolean + projectDir: string + distDir: string +}) { + const { NEXT_TRACE_UPLOAD_DEBUG } = process.env + + // Note: cross-spawn is not used here as it causes + // a new command window to appear when we don't want it to + const child_process = + require('child_process') as typeof import('child_process') + + // we use spawnSync when debugging to ensure logs are piped + // correctly to stdout/stderr + const spawn = NEXT_TRACE_UPLOAD_DEBUG + ? child_process.spawnSync + : child_process.spawn + + spawn( + process.execPath, + [ + require.resolve('./trace-uploader'), + traceUploadUrl, + mode, + String(isTurboSession), + projectDir, + distDir, + ], + { + detached: !NEXT_TRACE_UPLOAD_DEBUG, + windowsHide: true, + shell: false, + ...(NEXT_TRACE_UPLOAD_DEBUG + ? { + stdio: 'inherit', + } + : {}), + } + ) +} From af97755e3c62a6b786b98b98ef8e91bf3d595957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Wed, 16 Aug 2023 20:54:35 +0200 Subject: [PATCH 14/21] fix(edge): override init when cloning with `NextRequest` (#54108) ### What? When cloning a `Request` with `NextRequest` the second argument needs to take precedence over the `Headers` set on the original request. ### Why? Follow-up of #53157 I checked the `Request` spec https://fetch.spec.whatwg.org/#request-class and following the order of execution, `init.headers` should indeed override the headers if the first param was `Request`. I verified this in the browser too: ```js const req1 = new Request("http://n", {headers: {"x-header": "foo"}}) const req2 = new Request(req1, {headers: {"x-header-2": "bar"}}) Object.fromEntries(req2.headers) // {x-header-2: "bar"} ``` So we should match `NextRequest` with this behavior. ### How? Pass the `init` to `super` when cloning the request. Closes NEXT-1521 Fixes #54094 --- packages/next/src/server/web/spec-extension/request.ts | 2 +- test/unit/web-runtime/next-request.test.ts | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/next/src/server/web/spec-extension/request.ts b/packages/next/src/server/web/spec-extension/request.ts index 69b6066d36eee..0244b9a36d5aa 100644 --- a/packages/next/src/server/web/spec-extension/request.ts +++ b/packages/next/src/server/web/spec-extension/request.ts @@ -20,7 +20,7 @@ export class NextRequest extends Request { const url = typeof input !== 'string' && 'url' in input ? input.url : String(input) validateURL(url) - if (input instanceof Request) super(input) + if (input instanceof Request) super(input, init) else super(url, init) const nextUrl = new NextURL(url, { headers: toNodeOutgoingHttpHeaders(this.headers), diff --git a/test/unit/web-runtime/next-request.test.ts b/test/unit/web-runtime/next-request.test.ts index 4ab696e11271e..8e1d6549d220e 100644 --- a/test/unit/web-runtime/next-request.test.ts +++ b/test/unit/web-runtime/next-request.test.ts @@ -32,4 +32,12 @@ it('should clone Request with headers', () => { expect(Object.fromEntries(nextRequest.headers)).toEqual( Object.fromEntries(request.headers) ) + + // Second argument should override headers + const headers = new Headers({ 'x-header': 'some header' }) + const nextRequest2 = new NextRequest(request, { headers }) + + expect(Object.fromEntries(nextRequest2.headers)).toEqual( + Object.fromEntries(headers) + ) }) From bdd0f545c28342cff9f60a6b87af248fccbc58a0 Mon Sep 17 00:00:00 2001 From: Dima Voytenko Date: Wed, 16 Aug 2023 12:41:21 -0700 Subject: [PATCH 15/21] OpenTel: remove the internal (ipc) fetched from traces in a non-verbose mode (#54083) The internal IPC fetches are an internal framework detail and they shouldn't pollute the tracing in a non-verbose mode. Examples of internal fetch output: image image --- packages/next/src/server/lib/patch-fetch.ts | 10 +++++++--- packages/next/src/server/lib/trace/constants.ts | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/next/src/server/lib/patch-fetch.ts b/packages/next/src/server/lib/patch-fetch.ts index b5aa6c4d96637..fa904881c5d3b 100644 --- a/packages/next/src/server/lib/patch-fetch.ts +++ b/packages/next/src/server/lib/patch-fetch.ts @@ -1,7 +1,7 @@ import type { StaticGenerationAsyncStorage } from '../../client/components/static-generation-async-storage' import type * as ServerHooks from '../../client/components/hooks-server-context' -import { AppRenderSpan } from './trace/constants' +import { AppRenderSpan, NextNodeServerSpan } from './trace/constants' import { getTracer, SpanKind } from './trace/tracer' import { CACHE_ONE_YEAR } from '../../lib/constants' @@ -100,8 +100,12 @@ export function patchFetch({ const fetchStart = Date.now() const method = init?.method?.toUpperCase() || 'GET' + // Do create a new span trace for internal fetches in the + // non-verbose mode. + const isInternal = (init?.next as any)?.internal === true + return await getTracer().trace( - AppRenderSpan.fetch, + isInternal ? NextNodeServerSpan.internalFetch : AppRenderSpan.fetch, { kind: SpanKind.CLIENT, spanName: ['fetch', method, fetchUrl].filter(Boolean).join(' '), @@ -131,7 +135,7 @@ export function patchFetch({ // fetch implementation. if ( !staticGenerationStore || - (init?.next as any)?.internal || + isInternal || staticGenerationStore.isDraftMode ) { return originFetch(input, init) diff --git a/packages/next/src/server/lib/trace/constants.ts b/packages/next/src/server/lib/trace/constants.ts index a9f2681abae26..50eb4528c7dec 100644 --- a/packages/next/src/server/lib/trace/constants.ts +++ b/packages/next/src/server/lib/trace/constants.ts @@ -64,6 +64,7 @@ enum NextNodeServerSpan { route = 'route', onProxyReq = 'onProxyReq', apiResolver = 'apiResolver', + internalFetch = 'internalFetch', } enum StartServerSpan { From 4f7fc05f9ec49a578568fb085e5744020348c789 Mon Sep 17 00:00:00 2001 From: Zack Tanner Date: Wed, 16 Aug 2023 12:53:23 -0700 Subject: [PATCH 16/21] cleanup: remove unnecessary effect dep (#54134) Accidentally left this in after making some changes in: - https://github.com/vercel/next.js/pull/54081 --- packages/next/src/client/components/app-router.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/next/src/client/components/app-router.tsx b/packages/next/src/client/components/app-router.tsx index 9635e58fa0552..a1706ceb8ed98 100644 --- a/packages/next/src/client/components/app-router.tsx +++ b/packages/next/src/client/components/app-router.tsx @@ -387,7 +387,7 @@ function Router({ return () => { window.removeEventListener('pageshow', handlePageShow) } - }, [dispatch, initialTree]) + }, [dispatch]) // When mpaNavigation flag is set do a hard navigation to the new url. // Infinitely suspend because we don't actually want to rerender any child From 8589a6da759eaa4d50b2eaa90298ca451aeebcf9 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Wed, 16 Aug 2023 13:27:04 -0700 Subject: [PATCH 17/21] Next build: use exported `handle_issues` from turbopack (#52972) Note: depends on next Turbopack publish https://github.com/vercel/turbo/pull/5487 exports a reusable `handle_issues` function for reporting issues and erroring when failing issues are encountered. This uses it for `next build` with a failing severity level of error. --- .../crates/next-build/src/next_build.rs | 75 ++++++++++++------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/packages/next-swc/crates/next-build/src/next_build.rs b/packages/next-swc/crates/next-build/src/next_build.rs index f4dc5642f966e..82f81a36fe842 100644 --- a/packages/next-swc/crates/next-build/src/next_build.rs +++ b/packages/next-swc/crates/next-build/src/next_build.rs @@ -4,7 +4,7 @@ use std::{ path::{PathBuf, MAIN_SEPARATOR}, }; -use anyhow::{anyhow, Context, Result}; +use anyhow::{Context, Result}; use dunce::canonicalize; use next_core::{ mode::NextMode, @@ -25,7 +25,7 @@ use next_core::{ use serde::Serialize; use turbo_tasks::{ graph::{AdjacencyMap, GraphTraversal}, - Completion, Completions, TransientInstance, TransientValue, TryJoinIterExt, Vc, + Completion, Completions, TransientInstance, TryJoinIterExt, Vc, }; use turbopack_binding::{ turbo::tasks_fs::{rebase, DiskFileSystem, FileContent, FileSystem, FileSystemPath}, @@ -35,7 +35,7 @@ use turbopack_binding::{ asset::Asset, chunk::ChunkingContext, environment::ServerAddr, - issue::{IssueDescriptionExt, IssueReporter, IssueSeverity}, + issue::{handle_issues, IssueReporter, IssueSeverity}, output::{OutputAsset, OutputAssets}, virtual_fs::VirtualFileSystem, }, @@ -53,6 +53,9 @@ use crate::{ next_pages::page_entries::{compute_page_entries_chunks, get_page_entries}, }; +// TODO this should be Error, but we need to fix the errors happening first +static MIN_FAILING_SEVERITY: IssueSeverity = IssueSeverity::Fatal; + #[turbo_tasks::function] pub(crate) async fn next_build(options: TransientInstance) -> Result> { let project_root = options @@ -149,8 +152,22 @@ pub(crate) async fn next_build(options: TransientInstance) -> Resu next_config, ); - handle_issues(page_entries, issue_reporter).await?; - handle_issues(app_entries, issue_reporter).await?; + handle_issues( + page_entries, + issue_reporter, + MIN_FAILING_SEVERITY.cell(), + None, + None, + ) + .await?; + handle_issues( + app_entries, + issue_reporter, + MIN_FAILING_SEVERITY.cell(), + None, + None, + ) + .await?; let page_entries = page_entries.await?; let app_entries = app_entries.await?; @@ -436,7 +453,14 @@ async fn workspace_fs( issue_reporter: Vc>, ) -> Result>> { let disk_fs = DiskFileSystem::new("workspace".to_string(), workspace_root.to_string()); - handle_issues(disk_fs, issue_reporter).await?; + handle_issues( + disk_fs, + issue_reporter, + MIN_FAILING_SEVERITY.cell(), + None, + None, + ) + .await?; Ok(Vc::upcast(disk_fs)) } @@ -446,7 +470,14 @@ async fn node_fs( issue_reporter: Vc>, ) -> Result>> { let disk_fs = DiskFileSystem::new("node".to_string(), node_root.to_string()); - handle_issues(disk_fs, issue_reporter).await?; + handle_issues( + disk_fs, + issue_reporter, + MIN_FAILING_SEVERITY.cell(), + None, + None, + ) + .await?; Ok(Vc::upcast(disk_fs)) } @@ -456,31 +487,17 @@ async fn client_fs( issue_reporter: Vc>, ) -> Result>> { let disk_fs = DiskFileSystem::new("client".to_string(), client_root.to_string()); - handle_issues(disk_fs, issue_reporter).await?; + handle_issues( + disk_fs, + issue_reporter, + MIN_FAILING_SEVERITY.cell(), + None, + None, + ) + .await?; Ok(Vc::upcast(disk_fs)) } -async fn handle_issues(source: Vc, issue_reporter: Vc>) -> Result<()> { - let issues = source - .peek_issues_with_path() - .await? - .strongly_consistent() - .await?; - - let has_fatal = issue_reporter.report_issues( - TransientInstance::new(issues.clone()), - TransientValue::new(Vc::into_raw(source)), - // TODO this should be Error, but we need to fix the errors happing first - IssueSeverity::Fatal.cell(), - ); - - if *has_fatal.await? { - Err(anyhow!("Fatal issue(s) occurred")) - } else { - Ok(()) - } -} - /// Emits all assets transitively reachable from the given chunks, that are /// inside the node root or the client root. async fn emit_all_assets( From 93259caac47a820422bb3a37198c115c37613164 Mon Sep 17 00:00:00 2001 From: vercel-release-bot Date: Wed, 16 Aug 2023 21:11:24 +0000 Subject: [PATCH 18/21] v13.4.17-canary.0 --- lerna.json | 2 +- packages/create-next-app/package.json | 2 +- packages/eslint-config-next/package.json | 4 ++-- packages/eslint-plugin-next/package.json | 2 +- packages/font/package.json | 2 +- packages/next-bundle-analyzer/package.json | 2 +- packages/next-codemod/package.json | 2 +- packages/next-env/package.json | 2 +- packages/next-mdx/package.json | 2 +- packages/next-plugin-storybook/package.json | 2 +- packages/next-polyfill-module/package.json | 2 +- packages/next-polyfill-nomodule/package.json | 2 +- packages/next-swc/package.json | 2 +- packages/next/package.json | 14 +++++++------- packages/react-dev-overlay/package.json | 2 +- packages/react-refresh-utils/package.json | 2 +- packages/third-parties/package.json | 4 ++-- pnpm-lock.yaml | 16 ++++++++-------- 18 files changed, 33 insertions(+), 33 deletions(-) diff --git a/lerna.json b/lerna.json index 723bb10090a19..6f2ae09072e8e 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "13.4.16" + "version": "13.4.17-canary.0" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index 92debc67592ed..3141927bccfa5 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "13.4.16", + "version": "13.4.17-canary.0", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index e3f26ee4b8b0c..48da41aa90957 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "ESLint configuration used by NextJS.", "main": "index.js", "license": "MIT", @@ -10,7 +10,7 @@ }, "homepage": "https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config", "dependencies": { - "@next/eslint-plugin-next": "13.4.16", + "@next/eslint-plugin-next": "13.4.17-canary.0", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index 0e13869560f42..a21474fbc2dd6 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "ESLint plugin for NextJS.", "main": "dist/index.js", "license": "MIT", diff --git a/packages/font/package.json b/packages/font/package.json index e559df61e7e20..942796e15fe9e 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,6 +1,6 @@ { "name": "@next/font", - "version": "13.4.16", + "version": "13.4.17-canary.0", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index 4bd5cb1f6fc7f..81c38377575c2 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "13.4.16", + "version": "13.4.17-canary.0", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index adaef66d7c9f4..6369bd0dcc1be 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "13.4.16", + "version": "13.4.17-canary.0", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index c5ee9d3d4826a..0529d7ec4d67c 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "13.4.16", + "version": "13.4.17-canary.0", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index f644cc0eae74e..8e660f901d486 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "13.4.16", + "version": "13.4.17-canary.0", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index 7f9bb39291963..2f5a1ad8a3e11 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "13.4.16", + "version": "13.4.17-canary.0", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 3f5a5ade0a4ba..61cf414b74c11 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index c91176f57b690..0ec296b8ef7ff 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index b6cc43e2356aa..8fddd469a9ec2 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "13.4.16", + "version": "13.4.17-canary.0", "private": true, "scripts": { "clean": "node ../../scripts/rm.mjs native", diff --git a/packages/next/package.json b/packages/next/package.json index cfde9ee6a46f6..5a299e2a2eac8 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -89,7 +89,7 @@ ] }, "dependencies": { - "@next/env": "13.4.16", + "@next/env": "13.4.17-canary.0", "@swc/helpers": "0.5.1", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", @@ -144,11 +144,11 @@ "@mswjs/interceptors": "0.23.0", "@napi-rs/cli": "2.16.2", "@napi-rs/triples": "1.1.0", - "@next/polyfill-module": "13.4.16", - "@next/polyfill-nomodule": "13.4.16", - "@next/react-dev-overlay": "13.4.16", - "@next/react-refresh-utils": "13.4.16", - "@next/swc": "13.4.16", + "@next/polyfill-module": "13.4.17-canary.0", + "@next/polyfill-nomodule": "13.4.17-canary.0", + "@next/react-dev-overlay": "13.4.17-canary.0", + "@next/react-refresh-utils": "13.4.17-canary.0", + "@next/swc": "13.4.17-canary.0", "@opentelemetry/api": "1.4.1", "@playwright/test": "^1.35.1", "@segment/ajv-human-errors": "2.1.2", diff --git a/packages/react-dev-overlay/package.json b/packages/react-dev-overlay/package.json index fb7580254df3f..4ab04e01134b9 100644 --- a/packages/react-dev-overlay/package.json +++ b/packages/react-dev-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-dev-overlay", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "A development-only overlay for developing React applications.", "repository": { "url": "vercel/next.js", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index 43cfe2a2b49e7..1d557039fbf43 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "13.4.16", + "version": "13.4.17-canary.0", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/packages/third-parties/package.json b/packages/third-parties/package.json index a3d0210e6196d..21303ae2246b5 100644 --- a/packages/third-parties/package.json +++ b/packages/third-parties/package.json @@ -1,6 +1,6 @@ { "name": "@next/third-parties", - "version": "13.4.16", + "version": "13.4.17-canary.0", "private": true, "repository": { "url": "vercel/next.js", @@ -24,7 +24,7 @@ "third-party-capital": "1.0.17" }, "devDependencies": { - "next": "13.4.16", + "next": "13.4.17-canary.0", "outdent": "0.8.0", "prettier": "2.5.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a5be3587d23b..b7fa0fda89b9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -636,7 +636,7 @@ importers: packages/eslint-config-next: dependencies: '@next/eslint-plugin-next': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../eslint-plugin-next '@rushstack/eslint-patch': specifier: ^1.1.3 @@ -697,7 +697,7 @@ importers: packages/next: dependencies: '@next/env': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../next-env '@swc/helpers': specifier: 0.5.1 @@ -824,19 +824,19 @@ importers: specifier: 1.1.0 version: 1.1.0 '@next/polyfill-module': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../next-polyfill-module '@next/polyfill-nomodule': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../next-polyfill-nomodule '@next/react-dev-overlay': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../react-dev-overlay '@next/react-refresh-utils': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../react-refresh-utils '@next/swc': - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../next-swc '@opentelemetry/api': specifier: 1.4.1 @@ -1589,7 +1589,7 @@ importers: version: 1.0.17 devDependencies: next: - specifier: 13.4.16 + specifier: 13.4.17-canary.0 version: link:../next outdent: specifier: 0.8.0 From 6767454b5711c19cbbb0fe240597f12f7c22ae06 Mon Sep 17 00:00:00 2001 From: Max Leiter Date: Wed, 16 Aug 2023 17:27:49 -0700 Subject: [PATCH 19/21] node-web-streams: remove tee shim, use ReadableStream.tee (#54079) ### What? ~The `setTimeout(() => {}, 0)` was used in place of `setImmediate` due to lack of support in the Edge Runtime. This is no longer a problem.~ Not working like I expected. `ReadableStream.tee` should be widely supported as well as of [Node 16.5](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/tee#browser_compatibility) ### Why? Use the platform! ### How? Use the built-in `ReadableStream.tee()` --- .../server/app-render/use-flight-response.tsx | 3 +-- .../stream-utils/node-web-streams-helper.ts | 23 ------------------- 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/packages/next/src/server/app-render/use-flight-response.tsx b/packages/next/src/server/app-render/use-flight-response.tsx index 9a2c72702de73..a7d0318eeb70c 100644 --- a/packages/next/src/server/app-render/use-flight-response.tsx +++ b/packages/next/src/server/app-render/use-flight-response.tsx @@ -1,6 +1,5 @@ import type { ClientReferenceManifest } from '../../build/webpack/plugins/flight-manifest-plugin' import type { FlightResponseRef } from './flight-response-ref' -import { readableStreamTee } from '../stream-utils/node-web-streams-helper' import { encodeText, decodeText } from '../stream-utils/encode-decode' import { htmlEscapeJsonString } from '../htmlescape' @@ -26,7 +25,7 @@ export function useFlightResponse( createFromReadableStream, } = require(`react-server-dom-webpack/client.edge`) - const [renderStream, forwardStream] = readableStreamTee(req) + const [renderStream, forwardStream] = req.tee() const res = createFromReadableStream(renderStream, { moduleMap: isEdgeRuntime ? clientReferenceManifest.edgeSSRModuleMapping diff --git a/packages/next/src/server/stream-utils/node-web-streams-helper.ts b/packages/next/src/server/stream-utils/node-web-streams-helper.ts index be68dacdfac46..b8751df936539 100644 --- a/packages/next/src/server/stream-utils/node-web-streams-helper.ts +++ b/packages/next/src/server/stream-utils/node-web-streams-helper.ts @@ -52,29 +52,6 @@ export function cloneTransformStream(source: TransformStream) { return clone } -export function readableStreamTee( - readable: ReadableStream -): [ReadableStream, ReadableStream] { - const transformStream = new TransformStream() - const transformStream2 = new TransformStream() - const writer = transformStream.writable.getWriter() - const writer2 = transformStream2.writable.getWriter() - - const reader = readable.getReader() - async function read() { - const { done, value } = await reader.read() - if (done) { - await Promise.all([writer.close(), writer2.close()]) - return - } - await Promise.all([writer.write(value), writer2.write(value)]) - await read() - } - read() - - return [transformStream.readable, transformStream2.readable] -} - export function chainStreams( streams: ReadableStream[] ): ReadableStream { From bd5b715d182bb43d3aefecc61c35f8e1a618edcb Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Wed, 16 Aug 2023 17:48:44 -0700 Subject: [PATCH 20/21] Debug tracing: Include navigation through hydration timing (#54078) This: - Adds a simple, generic tracer in the client that can be subscribed to in order to report spans - Reports client spans through the HMR socket in the dev server - Receives these spans and includes them in `.next/trace` Closes WEB-1387 --- .../src/client/dev/error-overlay/websocket.ts | 2 +- packages/next/src/client/index.tsx | 27 ++++++- .../src/client/tracing/report-to-socket.ts | 18 +++++ packages/next/src/client/tracing/tracer.ts | 77 +++++++++++++++++++ packages/next/src/server/dev/hot-reloader.ts | 22 +++++- 5 files changed, 141 insertions(+), 5 deletions(-) create mode 100644 packages/next/src/client/tracing/report-to-socket.ts create mode 100644 packages/next/src/client/tracing/tracer.ts diff --git a/packages/next/src/client/dev/error-overlay/websocket.ts b/packages/next/src/client/dev/error-overlay/websocket.ts index 725e7b80c37a6..75c7db451f656 100644 --- a/packages/next/src/client/dev/error-overlay/websocket.ts +++ b/packages/next/src/client/dev/error-overlay/websocket.ts @@ -17,7 +17,7 @@ export function addMessageListener(cb: (event: any) => void) { eventCallbacks.push(cb) } -export function sendMessage(data: any) { +export function sendMessage(data: string) { if (!source || source.readyState !== source.OPEN) return return source.send(data) } diff --git a/packages/next/src/client/index.tsx b/packages/next/src/client/index.tsx index 8b9a13e870544..cd0a8d601bfb2 100644 --- a/packages/next/src/client/index.tsx +++ b/packages/next/src/client/index.tsx @@ -46,6 +46,8 @@ import { } from '../shared/lib/router/adapters' import { SearchParamsContext } from '../shared/lib/hooks-client-context' import onRecoverableError from './on-recoverable-error' +import tracer from './tracing/tracer' +import reportToSocket from './tracing/report-to-socket' /// @@ -186,6 +188,8 @@ class Container extends React.Component<{ export async function initialize(opts: { webpackHMR?: any } = {}): Promise<{ assetPrefix: string }> { + tracer.onSpanEnd(reportToSocket) + // This makes sure this specific lines are removed in production if (process.env.NODE_ENV === 'development') { webpackHMR = opts.webpackHMR @@ -450,12 +454,31 @@ function markHydrateComplete(): void { performance.mark('afterHydrate') // mark end of hydration - performance.measure( + const beforeHydrationMeasure = performance.measure( 'Next.js-before-hydration', 'navigationStart', 'beforeRender' ) - performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate') + + const hydrationMeasure = performance.measure( + 'Next.js-hydration', + 'beforeRender', + 'afterHydrate' + ) + + tracer + .startSpan('navigation-to-hydration', { + startTime: performance.timeOrigin + beforeHydrationMeasure.startTime, + attributes: { + pathname: location.pathname, + query: location.search, + }, + }) + .end( + performance.timeOrigin + + hydrationMeasure.startTime + + hydrationMeasure.duration + ) if (onPerfEntry) { performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry) diff --git a/packages/next/src/client/tracing/report-to-socket.ts b/packages/next/src/client/tracing/report-to-socket.ts new file mode 100644 index 0000000000000..74c87703e9997 --- /dev/null +++ b/packages/next/src/client/tracing/report-to-socket.ts @@ -0,0 +1,18 @@ +import { sendMessage } from '../dev/error-overlay/websocket' +import { Span } from './tracer' + +export default function reportToSocket(span: Span) { + if (span.state.state !== 'ended') { + throw new Error('Expected span to be ended') + } + + sendMessage( + JSON.stringify({ + event: 'span-end', + startTime: span.startTime, + endTime: span.state.endTime, + spanName: span.name, + attributes: span.attributes, + }) + ) +} diff --git a/packages/next/src/client/tracing/tracer.ts b/packages/next/src/client/tracing/tracer.ts new file mode 100644 index 0000000000000..f93b5f7219c7a --- /dev/null +++ b/packages/next/src/client/tracing/tracer.ts @@ -0,0 +1,77 @@ +import mitt, { MittEmitter } from '../../shared/lib/mitt' + +export type SpanOptions = { + startTime?: number + attributes?: Record +} + +export type SpanState = + | { + state: 'inprogress' + } + | { + state: 'ended' + endTime: number + } + +interface ISpan { + name: string + startTime: number + attributes: Record + state: SpanState + end(endTime?: number): void +} + +class Span implements ISpan { + name: string + startTime: number + onSpanEnd: (span: Span) => void + state: SpanState + attributes: Record + + constructor( + name: string, + options: SpanOptions, + onSpanEnd: (span: Span) => void + ) { + this.name = name + this.attributes = options.attributes ?? {} + this.startTime = options.startTime ?? Date.now() + this.onSpanEnd = onSpanEnd + this.state = { state: 'inprogress' } + } + + end(endTime?: number) { + if (this.state.state === 'ended') { + throw new Error('Span has already ended') + } + + this.state = { + state: 'ended', + endTime: endTime ?? Date.now(), + } + this.onSpanEnd(this) + } +} + +class Tracer { + _emitter: MittEmitter = mitt() + + private handleSpanEnd = (span: Span) => { + this._emitter.emit('spanend', span) + } + + startSpan(name: string, options: SpanOptions) { + return new Span(name, options, this.handleSpanEnd) + } + + onSpanEnd(cb: (span: ISpan) => void): () => void { + this._emitter.on('spanend', cb) + return () => { + this._emitter.off('spanend', cb) + } + } +} + +export { ISpan as Span } +export default new Tracer() diff --git a/packages/next/src/server/dev/hot-reloader.ts b/packages/next/src/server/dev/hot-reloader.ts index f8161c8f2a13e..6022b2330c93d 100644 --- a/packages/next/src/server/dev/hot-reloader.ts +++ b/packages/next/src/server/dev/hot-reloader.ts @@ -64,6 +64,8 @@ import { getRouteLoaderEntry } from '../../build/webpack/loaders/next-route-load import { isInternalComponent } from '../../lib/is-internal-component' import { RouteKind } from '../future/route-kind' +const MILLISECONDS_IN_NANOSECOND = 1_000_000 + function diff(a: Set, b: Set) { return new Set([...a].filter((v) => !b.has(v))) } @@ -369,11 +371,27 @@ export default class HotReloader { | undefined switch (payload.event) { + case 'span-end': { + new Span({ + name: payload.spanName, + startTime: + BigInt(Math.floor(payload.startTime)) * + BigInt(MILLISECONDS_IN_NANOSECOND), + attrs: payload.attributes, + }).stop( + BigInt(Math.floor(payload.endTime)) * + BigInt(MILLISECONDS_IN_NANOSECOND) + ) + break + } case 'client-hmr-latency': { traceChild = { name: payload.event, - startTime: BigInt(payload.startTime) * BigInt(1000 * 1000), - endTime: BigInt(payload.endTime) * BigInt(1000 * 1000), + startTime: + BigInt(payload.startTime) * + BigInt(MILLISECONDS_IN_NANOSECOND), + endTime: + BigInt(payload.endTime) * BigInt(MILLISECONDS_IN_NANOSECOND), attrs: { updatedModules: payload.updatedModules, page: payload.page, From 043114773fba2733c3feea5bd914e1bfe56f89e3 Mon Sep 17 00:00:00 2001 From: Jiwon Choi Date: Thu, 17 Aug 2023 10:06:07 +0900 Subject: [PATCH 21/21] fix: `cookies().has()` breaks in app-route (#54112) - Added `has` to ResponseCookies in [edge-runtime/cookies#533](https://github.com/vercel/edge-runtime/pull/533) - Upgraded edge-runtime/cookies to 3.3.0 #54117 - Added a test case Fixes #54005 #54111 --- test/e2e/app-dir/app-routes/app-custom-routes.test.ts | 10 ++++++++++ .../app-dir/app-routes/app/hooks/cookies/has/route.ts | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 test/e2e/app-dir/app-routes/app/hooks/cookies/has/route.ts diff --git a/test/e2e/app-dir/app-routes/app-custom-routes.test.ts b/test/e2e/app-dir/app-routes/app-custom-routes.test.ts index 56b627dcb332c..3c8cbf119c139 100644 --- a/test/e2e/app-dir/app-routes/app-custom-routes.test.ts +++ b/test/e2e/app-dir/app-routes/app-custom-routes.test.ts @@ -423,6 +423,16 @@ createNextDescribe( }) }) + describe('cookies().has()', () => { + it('gets the correct values', async () => { + const res = await next.fetch(bathPath + '/hooks/cookies/has') + + expect(res.status).toEqual(200) + + expect(await res.json()).toEqual({ hasCookie: true }) + }) + }) + describe('redirect', () => { it('can respond correctly', async () => { const res = await next.fetch(bathPath + '/hooks/redirect', { diff --git a/test/e2e/app-dir/app-routes/app/hooks/cookies/has/route.ts b/test/e2e/app-dir/app-routes/app/hooks/cookies/has/route.ts new file mode 100644 index 0000000000000..adf2d68e13c38 --- /dev/null +++ b/test/e2e/app-dir/app-routes/app/hooks/cookies/has/route.ts @@ -0,0 +1,10 @@ +import { NextResponse } from 'next/server' +import { cookies } from 'next/headers' + +export async function GET() { + const c = cookies() + c.set('a', 'a') + const hasCookie = c.has('a') + + return NextResponse.json({ hasCookie }) // expect { hasCookie: true } +}